Как использовать переменную окружения в переменной окружения в Jenkinsfile? - PullRequest
0 голосов
/ 08 апреля 2019

Я хотел бы иметь переменную окружения COMPOSE_PROJECT_NAME со значением denpal-4 для задания Jenkins с build_id 4.

environment {
  COMPOSE_PROJECT_NAME = 'denpal-$(BUILD_ID)'
}

Альтернатива будет записывать это в каждом sh-блоке

sh ''' 
export COMPOSE_PROJECT_NAME = 'denpal-$(BUILD_ID)'
code...
'''

Однако это противоречило бы принципу СУХОЙ (не повторяйся). Возможно ли что-то в среде {} возможно?

ОБНОВЛЕНИЕ / ОТВЕТ: исправлены двойные кавычки вместо одинарных.

1 Ответ

2 голосов
/ 08 апреля 2019

Да, вы можете присвоить значение переменной на этапе окружения (используя env в качестве префикса для переменной), а затем можете использовать его на любом этапе, см. Ниже: -

environment {
           env.COMPOSE_PROJECT_NAME = "denpal-${BUILD_ID}"
        }
...