Как получить доступ к переменной среды, которую я определил из последней успешной сборки - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь получить доступ к переменной среды, которую я определил в задании «A», из другого задания «B»

задание 'A' определяет его как -

evn.upload_loaction = "loc"

В задании B я пытаюсь получить доступ к последней успешной сборке JOb A и получить эту переменную -

        def item = Jenkins.instance.getItem("deploy-artifact-pipeline")
        def dev_deployed_build=item.getLastSuccessfulBuild()
        def envVars= dev_deployed_build.getEnvVars()
        echo envVars['upload_loaction']   // prints null
        echo envVars['BUILD_NUMBER'] // prints 21

Моя пользовательская переменная не распознается, но доступны такие общие, как build_number.

Когда я запускаю задание A в качестве нижестоящего задания, я могу получить доступ с помощью -

def jLz = build (job: 'deploy-artifact-pipeline')
echo jLz.buildVariables.PROCESSOR_UPLOAD_LOCATION // prints loc

Может кто-нибудь помочь мне с этим? Или есть лучший способ сохранить и получить доступ к этой переменной из предыдущей сборки?

1 Ответ

0 голосов
/ 05 июля 2019

Плагин EnvInject и работа с конвейером не идут рука об руку, если требуется сохранить некоторую переменную окружения, я обычно предпочитаю, чтобы это задание было свободным стилем, где вы можете отправить свою переменную env для сохранения в конце build и к которому можно получить доступ для конкретной сборки с помощью «injectedEnvVars / api / json»

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