Как обновить переменную глобальной среды Jenkins Properties из этапа конвейера в Jenkinsfile - PullRequest
0 голосов
/ 27 августа 2018

Желание обновить значение свойств ".env", чтобы следующее выполнение имело новое значение.

loggingUtils.info("${env.testVar}")

env.testVar = "cat"

loggingUtils.info("${env.testVar}")

В настоящее время, что происходит, если я сконфигурирую «env.testVar» для значения «собака» изнутри jenkins, операторы печати будут:

dog
cat

но в следующий раз я хочу, чтобы оно было

cat
cat

Однако, это всегда просто

dog
cat

Есть ли способ добиться установки переменных среды, чтобы будущие сборки имели новую переменную? Я бы предпочел сделать это без плагина, если это возможно

1 Ответ

0 голосов
/ 28 августа 2018

Сборки (их можно рассматривать как «экземпляры казней») в Jenkins не зависят друг от друга.

Если вы пытаетесь связать сборки путем передачи информации между сборками, я бы посоветовал вам подумать о том, что вы действительно пытаетесь сделать, и предположить, что вы, возможно, не выполняете непрерывную интеграцию должным образом.

Каждый раз, когда вы выполняете сборку, она начинается с нуля. Непрерывная интеграция всегда начинается с контроля исходного кода. Ничто из полученного не должно быть передано в систему контроля версий.

Я бы предложил, чтобы конфигурация среды обычно сохранялась в файлах конфигурации в системе управления версиями и применялась в зависимости от параметров в сборке. (т.е. в какой среде я хочу развернуть данную сборку?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...