From a57d7d6818704774fc9cd17eb1f84b5f2e59de23 Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Sat, 4 Apr 2020 11:55:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B2=D0=B5=D1=80=D0=BD=D1=83?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B0=D0=B2=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B5=20=D0=B2?= =?UTF-8?q?=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=88=D0=B0=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JobConfiguration должен быть инициализирован на момент компиляции пайплайна, чтобы его можно было использовать внутри enviroment-блока, а в текущих реалиях это невозможно. --- vars/pipeline1C.groovy | 8 +++----- vars/withStorageCredentials.groovy | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 vars/withStorageCredentials.groovy diff --git a/vars/pipeline1C.groovy b/vars/pipeline1C.groovy index 09c465b..9cc10a2 100644 --- a/vars/pipeline1C.groovy +++ b/vars/pipeline1C.groovy @@ -29,10 +29,6 @@ void call() { } stage('pipeline1C') { - environment { - STORAGE_PATH = credentials(jobConfiguration.secrets.storagePath) - STORAGE = credentials(jobConfiguration.secrets.storage) - } parallel { stage('SonarQube') { @@ -65,7 +61,9 @@ void call() { def storageVersion = versionParser.storage() // Создание базы загрузкой конфигурации из хранилища - cmd "oscript_modules/bin/vrunner init-dev --storage --storage-name $STORAGE_PATH --storage-user $STORAGE_USR --storage-pwd $STORAGE_PSW --storage-ver $storageVersion --ibconnection \"/F./build/ib\"" + withStorageCredentials(jobConfiguration) { + cmd "oscript_modules/bin/vrunner init-dev --storage --storage-name $STORAGE_PATH --storage-user $STORAGE_USR --storage-pwd $STORAGE_PSW --storage-ver $storageVersion --ibconnection \"/F./build/ib\"" + } } zipInfobase() diff --git a/vars/withStorageCredentials.groovy b/vars/withStorageCredentials.groovy new file mode 100644 index 0000000..804d7b0 --- /dev/null +++ b/vars/withStorageCredentials.groovy @@ -0,0 +1,17 @@ +import ru.pulsar.jenkins.library.configuration.JobConfiguration + +def call(JobConfiguration jobConfiguration, Closure body) { + withCredentials([ + usernamePassword( + credentialsId: jobConfiguration.secrets.storage, + passwordVariable: 'STORAGE_PSW', + usernameVariable: 'STORAGE_USR' + ), + string( + credentialsId: jobConfiguration.secrets.storagePath, + variable: 'STORAGE_PATH' + ) + ]) { + body() + } +} \ No newline at end of file