From 3dbf1642a2c670ca145209ecdc814b016636e154 Mon Sep 17 00:00:00 2001 From: ivanovEV Date: Sun, 28 Jan 2024 08:53:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=84=D0=BB=D0=B0=D0=B3=20ibcmd=20=D0=B2=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=84=D0=B8=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/globalConfiguration.json | 1 + resources/schema.json | 4 ++++ .../jenkins/library/configuration/InitInfoBaseOptions.groovy | 4 ++++ src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy | 3 +++ 4 files changed, 12 insertions(+) diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index 5fcd3eb7..9ee2004d 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -37,6 +37,7 @@ "initInfobase": { "initMethod": "fromStorage", "runMigration": true, + "useIbcmd": false, "additionalInitializationSteps": [] }, "bdd": { diff --git a/resources/schema.json b/resources/schema.json index fbeb0dd8..873f8706 100644 --- a/resources/schema.json +++ b/resources/schema.json @@ -146,6 +146,10 @@ "description" : "\n Способ инициализации информационной базы.\n Поддерживается три варианта:\n * fromStorage - инициализация информационной базы из хранилища конфигурации;\n * fromSource - инициализация информационной базы из исходников конфигурации;\n * defaultBranchFromStorage - инициализация основной ветки из хранилища конфигурации, остальных - из исходников конфигурации.\n По умолчанию содержит значение \"fromStorage\".", "enum" : [ "fromStorage", "fromSource", "defaultBranchFromStorage" ] }, + "useIbcmd" : { + "type" : "boolean", + "description" : "Использовать утилиту ibcmd для инициализации и сборки информационной базы.\n Требует версию vanessa-runner >= 1.11.12 и выше.\n По умолчанию содержит значение false.\n" + }, "runMigration" : { "type" : "boolean", "description" : "Запустить миграцию ИБ" diff --git a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy index f0874a60..3138a938 100644 --- a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy @@ -19,6 +19,9 @@ class InitInfoBaseOptions implements Serializable { @JsonPropertyDescription("Запустить миграцию ИБ") Boolean runMigration = true + @JsonPropertyDescription("Использовать утилиту ibcmd при инициализации ИБ") + Boolean useIbcmd = false + @JsonPropertyDescription("""Дополнительные шаги, запускаемые через vrunner. В каждой строке передается отдельная команда vrunner и ее аргументы (например, "vanessa --settings ./tools/vrunner.first.json") @@ -31,6 +34,7 @@ class InitInfoBaseOptions implements Serializable { return "InitInfoBaseOptions{" + "initMethod=" + initMethod + ", runMigration=" + runMigration + + ", useIbcmd=" + useIbcmd + ", additionalInitializationSteps=" + additionalInitializationSteps + '}'; } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy index e08fa32a..8adbc95e 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy @@ -44,6 +44,9 @@ class InitFromFiles implements Serializable { Logger.println("Выполнение загрузки конфигурации из файлов") String vrunnerPath = VRunner.getVRunnerPath(); def initCommand = "$vrunnerPath init-dev --src $srcDir --ibconnection \"/F./build/ib\"" + if (config.initInfoBaseOptions.useIbcmd) { + initCommand += " --ibcmd" + } VRunner.exec(initCommand) } }