diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index 0d5a3b9..b25868f 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -53,5 +53,6 @@ "lfsPull": false, "lfsURI": "", "lfsRepoURI": "" - } + }, + "logosConfig": "" } diff --git a/resources/schema.json b/resources/schema.json index 46022fd..e964184 100644 --- a/resources/schema.json +++ b/resources/schema.json @@ -166,6 +166,10 @@ "description" : "Адрес удаленного репозитория для авторизации на LFS" } } + }, + "logosConfig" : { + "type" : "string", + "description" : "Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки" } } } \ No newline at end of file diff --git a/src/JobConfigurationSchemaGenerator.java b/src/JobConfigurationSchemaGenerator.java index 68fe569..0a542b0 100644 --- a/src/JobConfigurationSchemaGenerator.java +++ b/src/JobConfigurationSchemaGenerator.java @@ -21,7 +21,7 @@ public class JobConfigurationSchemaGenerator { File jsonSchemaFile = new File("./resources/schema.json"); mapper.writeValue(jsonSchemaFile, jsonSchema); - System.out.println(json.toString()); + System.out.println(json); } } diff --git a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy index babde5a..fbb3e93 100644 --- a/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy @@ -44,6 +44,10 @@ class JobConfiguration implements Serializable { @JsonPropertyDescription("Настройки git-репозитория") GitSCMOptions gitSCMOptions; + @JsonProperty("logosConfig") + @JsonPropertyDescription("Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки") + String logosConfig; + @Override @NonCPS String toString() { @@ -58,6 +62,7 @@ class JobConfiguration implements Serializable { ", syntaxCheckOptions=" + syntaxCheckOptions + ", resultsTransformOptions=" + resultsTransformOptions + ", gitSCMOptions=" + gitSCMOptions + + ", logosConfig=" + logosConfig + '}'; } } \ No newline at end of file diff --git a/src/ru/pulsar/jenkins/library/steps/Bdd.groovy b/src/ru/pulsar/jenkins/library/steps/Bdd.groovy index 6a1e9cb..ebb8629 100644 --- a/src/ru/pulsar/jenkins/library/steps/Bdd.groovy +++ b/src/ru/pulsar/jenkins/library/steps/Bdd.groovy @@ -23,20 +23,23 @@ class Bdd implements Serializable { return } - steps.installLocalDependencies() + List logosConfig = ["LOGOS_CONFIG=$config.logosConfig"] + steps.withEnv(logosConfig) { + steps.installLocalDependencies() - steps.createDir('build/out') + steps.createDir('build/out') - // TODO: удалить после выхода VAS 1.0.35 - steps.httpRequest( - 'https://cloud.svc.pulsar.ru/index.php/s/WKwmqpFXSjfYjAH/download', - 'oscript_modules/vanessa-automation-single/vanessa-automation-single.epf' - ) + // TODO: удалить после выхода VAS 1.0.35 + steps.httpRequest( + 'https://cloud.svc.pulsar.ru/index.php/s/WKwmqpFXSjfYjAH/download', + 'oscript_modules/vanessa-automation-single/vanessa-automation-single.epf' + ) - steps.catchError { - config.bddOptions.vrunnerSteps.each { - Logger.println("Шаг запуска сценариев командой ${it}") - steps.cmd("oscript_modules/bin/vrunner ${it} --ibconnection \"/F./build/ib\"") + steps.catchError { + config.bddOptions.vrunnerSteps.each { + Logger.println("Шаг запуска сценариев командой ${it}") + steps.cmd("oscript_modules/bin/vrunner ${it} --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 deb5ec7..4cbb215 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitInfobase.groovy @@ -25,27 +25,31 @@ class InitInfobase implements Serializable { return } - if (config.initInfobaseOptions.runMigration) { - Logger.println("Запуск миграции ИБ") - - // Запуск миграции - steps.catchError { - steps.cmd('oscript_modules/bin/vrunner run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute \\$runnerRoot/epf/ЗакрытьПредприятие.epf --ibconnection "/F./build/ib"') - } - } else { - Logger.println("Шаг миграции ИБ выключен") - } - // TODO: удалить после выхода VAS 1.0.35 steps.httpRequest( 'https://cloud.svc.pulsar.ru/index.php/s/WKwmqpFXSjfYjAH/download', 'oscript_modules/vanessa-automation-single/vanessa-automation-single.epf' ) - steps.catchError { - config.initInfobaseOptions.additionalMigrationSteps.each { - Logger.println("Первичная инициализация командой ${it}") - steps.cmd("oscript_modules/bin/vrunner ${it} --ibconnection \"/F./build/ib\"") + List logosConfig = ["LOGOS_CONFIG=$config.logosConfig"] + steps.withEnv(logosConfig) { + + if (config.initInfobaseOptions.runMigration) { + Logger.println("Запуск миграции ИБ") + + // Запуск миграции + steps.catchError { + steps.cmd('oscript_modules/bin/vrunner run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute \\$runnerRoot/epf/ЗакрытьПредприятие.epf --ibconnection "/F./build/ib"') + } + } else { + Logger.println("Шаг миграции ИБ выключен") + } + + steps.catchError { + config.initInfobaseOptions.additionalMigrationSteps.each { + Logger.println("Первичная инициализация командой ${it}") + steps.cmd("oscript_modules/bin/vrunner ${it} --ibconnection \"/F./build/ib\"") + } } } diff --git a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java index b547510..90cdd26 100644 --- a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java +++ b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java @@ -48,6 +48,8 @@ class ConfigurationReaderTest { assertThat(jobConfiguration.getInitInfobaseOptions().getAdditionalMigrationSteps()).contains("vanessa --settings ./tools/vrunner.first.json"); assertThat(jobConfiguration.getBddOptions().getVrunnerSteps()).contains("vanessa --settings ./tools/vrunner.json"); + + assertThat(jobConfiguration.getLogosConfig()).isEqualTo("logger.rootLogger=DEBUG"); } } \ No newline at end of file diff --git a/test/unit/resources/jobConfiguration.json b/test/unit/resources/jobConfiguration.json index 173d261..f73b8bb 100644 --- a/test/unit/resources/jobConfiguration.json +++ b/test/unit/resources/jobConfiguration.json @@ -17,5 +17,6 @@ }, "resultsTransform": { "removeSupport": true - } + }, + "logosConfig": "logger.rootLogger=DEBUG" } \ No newline at end of file