From 45a3e5987f5a9a09736c1b165cd34123fdec077a Mon Sep 17 00:00:00 2001 From: kuzja086 Date: Mon, 9 Aug 2021 07:51:42 +0500 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B8=D0=B7=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../library/configuration/StageFlags.groovy | 4 ++ .../library/steps/InitFromFiles.groovy | 38 +++++++++++++++++++ vars/initFromFiles.groovy | 10 +++++ vars/pipeline1C.groovy | 12 ++++-- 4 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy create mode 100644 vars/initFromFiles.groovy diff --git a/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy b/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy index d7d70b0..618c255 100644 --- a/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/StageFlags.groovy @@ -44,4 +44,8 @@ class StageFlags implements Serializable { boolean needInfobase() { return smoke || syntaxCheck || initSteps || bdd || srcEDT } + + boolean infobaseFromFiles() { + return srcEDT + } } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy new file mode 100644 index 0000000..dbbf975 --- /dev/null +++ b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy @@ -0,0 +1,38 @@ +package ru.pulsar.jenkins.library.steps + +import ru.pulsar.jenkins.library.IStepExecutor +import ru.pulsar.jenkins.library.ioc.ContextRegistry +import ru.pulsar.jenkins.library.utils.Logger + +class InitFromFiles implements Serializable { + + private final JobConfiguration config; + + InitFromFiles(JobConfiguration config) { + this.config = config + } + + def run() { + IStepExecutor steps = ContextRegistry.getContext().getStepExecutor() + + Logger.printLocation() + + if (!config.stageFlags.infobaseFromFiles()) { + Logger.println("init infoBase from files is disabled") + return + } + + Logger.println("Распаковка файлов") + + def env = steps.env(); + + def srcDir = "$env.WORKSPACE/$EdtBackTransform.CONFIGURATION_DIR" + + steps.unstash(EdtBackTransform.CONFIGURATION_ZIP_STASH) + steps.unzip(srcDir, EdtBackTransform.CONFIGURATION_ZIP) + + Logger.println("Выполнение загрузки конфигурации из файлов") + def initCommand = "oscript_modules/bin/vrunner init-dev --src $srcDir --ibconnection \"/F./build/ib\"" + steps.cmd(initCommand) + } +} diff --git a/vars/initFromFiles.groovy b/vars/initFromFiles.groovy new file mode 100644 index 0000000..ea0779b --- /dev/null +++ b/vars/initFromFiles.groovy @@ -0,0 +1,10 @@ +import ru.pulsar.jenkins.library.configuration.JobConfiguration +import ru.pulsar.jenkins.library.ioc.ContextRegistry +import ru.pulsar.jenkins.library.steps.InitFromFiles + +def call(JobConfiguration config) { + ContextRegistry.registerDefaultContext(this) + + def initFromFiles = new InitFromFiles(config) + initFromFiles.run() +} \ No newline at end of file diff --git a/vars/pipeline1C.groovy b/vars/pipeline1C.groovy index 64e6f94..c11e8f9 100644 --- a/vars/pipeline1C.groovy +++ b/vars/pipeline1C.groovy @@ -72,8 +72,14 @@ void call() { createDir('build/out') - // Создание базы загрузкой конфигурации из хранилища - initFromStorage config + if (config.stageFlags.infobaseFromFiles()){ + // Создание базы загрузкой из файлов + initFromFiles config + } + else{ + // Создание базы загрузкой конфигурации из хранилища + initFromStorage config + } } } @@ -106,7 +112,7 @@ void call() { } when { beforeAgent true - expression { config.stageFlags.edtValidate } + expression { config.stageFlags.edtValidate && !config.stageFlags.srcEDT} } steps { edtTransform config