diff --git a/.gitignore b/.gitignore index 5f3fff7d..3bb6fcec 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ bin/ lib/ *.iml +.classpath +.project +.settings/ diff --git a/src/ru/pulsar/jenkins/library/steps/Bdd.groovy b/src/ru/pulsar/jenkins/library/steps/Bdd.groovy index 33940e93..454b4c4c 100644 --- a/src/ru/pulsar/jenkins/library/steps/Bdd.groovy +++ b/src/ru/pulsar/jenkins/library/steps/Bdd.groovy @@ -34,7 +34,7 @@ class Bdd implements Serializable { config.bddOptions.vrunnerSteps.each { Logger.println("Шаг запуска сценариев командой ${it}") String vrunnerPath = VRunner.getVRunnerPath(); - steps.cmd("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"") + VRunner.exec("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"") } } } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy index 7f56ecb7..a8ce35d3 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy @@ -44,6 +44,6 @@ class InitFromFiles implements Serializable { Logger.println("Выполнение загрузки конфигурации из файлов") String vrunnerPath = VRunner.getVRunnerPath(); def initCommand = "$vrunnerPath init-dev --src $srcDir --ibconnection \"/F./build/ib\"" - steps.cmd(initCommand) + VRunner.exec(initCommand) } } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy index aad6d607..6ed2b390 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy @@ -57,7 +57,7 @@ class InitFromStorage implements Serializable { ) ]) { String vrunnerPath = VRunner.getVRunnerPath() - steps.cmd "$vrunnerPath init-dev --storage $storageVersionParameter --ibconnection \"/F./build/ib\"" + VRunner.exec "$vrunnerPath init-dev --storage $storageVersionParameter --ibconnection \"/F./build/ib\"" } } diff --git a/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy b/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy index 4518a351..f85c9eaf 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy @@ -37,7 +37,7 @@ class InitInfobase implements Serializable { // Запуск миграции steps.catchError { - steps.cmd(vrunnerPath + ' run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute \\$runnerRoot/epf/ЗакрытьПредприятие.epf --ibconnection "/F./build/ib"') + VRunner.exec(vrunnerPath + ' run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute \\$runnerRoot/epf/ЗакрытьПредприятие.epf --ibconnection "/F./build/ib"') } } else { Logger.println("Шаг миграции ИБ выключен") @@ -49,12 +49,12 @@ class InitInfobase implements Serializable { files = files.sort new OrderBy( { it.name }) files.each { Logger.println("Первичная инициализация файлом ${it.path}") - steps.cmd("$vrunnerPath vanessa --settings ${it.path} --ibconnection \"/F./build/ib\"") + VRunner.exec("$vrunnerPath vanessa --settings ${it.path} --ibconnection \"/F./build/ib\"") } } else { config.initInfobaseOptions.additionalInitializationSteps.each { Logger.println("Первичная инициализация командой ${it}") - steps.cmd("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"") + VRunner.exec("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"") } } } diff --git a/src/ru/pulsar/jenkins/library/utils/VRunner.groovy b/src/ru/pulsar/jenkins/library/utils/VRunner.groovy index 53fd98de..d9b48ab9 100644 --- a/src/ru/pulsar/jenkins/library/utils/VRunner.groovy +++ b/src/ru/pulsar/jenkins/library/utils/VRunner.groovy @@ -5,6 +5,8 @@ import ru.pulsar.jenkins.library.ioc.ContextRegistry class VRunner { + static final String DEFAULT_VRUNNER_OPTS = "RUNNER_NOCACHEUSE=1" + static String getVRunnerPath() { IStepExecutor steps = ContextRegistry.getContext().getStepExecutor() @@ -17,4 +19,12 @@ class VRunner { return vrunnerPath; } + + static int exec(String command, boolean returnStatus = false) { + IStepExecutor steps = ContextRegistry.getContext().getStepExecutor() + + steps.withEnv([DEFAULT_VRUNNER_OPTS]) { + return steps.cmd(command, returnStatus) + } as int + } } diff --git a/vars/syntaxCheck.groovy b/vars/syntaxCheck.groovy index 8c119b0d..636b8370 100644 --- a/vars/syntaxCheck.groovy +++ b/vars/syntaxCheck.groovy @@ -56,7 +56,7 @@ def call(JobConfiguration config) { } // Запуск синтакс-проверки - cmd(command, true) + VRunner.exec(command, true) junit allowEmptyResults: true, testResults: FileUtils.getLocalPath(pathToJUnitReport)