Добрый день,
У меня есть отличный скрипт, работающий на работе Дженкинса, вот так.
//checkoutObjects
def command =""
for (i = 0; i <numOfObj; i++) {
command = "svn export -r "+DeploySetArray[i][1]+" "+DeploySetArray[i][0]+" D:/Jenkins/workspace/mmb.database.deploy"
//println command.execute().text
def proc = command.execute()
proc.waitFor()
println "Process exit code: ${proc.exitValue()}"
println "Std Err: ${proc.err.text}"
println "Std Out: ${proc.in.text}"
}
Приведенный выше фрагмент отлично работает, проверяет все мои объекты SVN. Теперь у меня есть проблема ниже.
command = "sqlplus mastermind/***@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=***)(PORT=1521))(CONNECT_DATA=(SERVER=dedicated)(SERVICE_NAME=***))) @D:/BuildScripts/MMB/gather_invalids.sql"
def proc = command.execute()
println "This line is printed"
proc.waitFor()
println "This line is not printed"
println "Process exit code: ${proc.exitValue()}"
println "Std Err: ${proc.err.text}"
println "Std Out: ${proc.in.text}"
По какой-то причине при попытке запустить этот отличный сценарий через Jenkins или при запуске непосредственно из отличной консоли Он ожидает на этой строке. Однако, если я извлекаю команду sqlplus точно и запускаю ее на CL, она возвращается через несколько секунд. Я посмотрел несколько ответов, которые мне показались близкими, но кажется странным, что он отлично работает в командной строке, а не в Groovy. Буду признателен за любые советы или указатели.
Спасибо!
РЕДАКТИРОВАТЬ: я пытался использовать другой инструмент командной строки "sql" вместо "sqlplus". Скрипт все еще висит на том же месте, заставляя меня думать, что это как-то связано с groovy