#jenkins #jenkins-plugins #jenkins-template-engine
#Дженкинс #Дженкинс-плагины #jenkins-движок шаблонов
Вопрос:
Я использую механизм шаблонов Jenkins и сталкиваюсь со следующей проблемой:
Допустим, я хочу иметь библиотечный шаг, который загружает артефакты в Artifactory. На этом шаге следует установить в качестве свойства URL-адрес коммита git. Я хочу, чтобы каждый проект предоставлял этот URL-адрес в pipeline_config.groovy
файле, а не жестко запрограммированный на шаге.
Дело в том, что этот URL состоит из некоторой фиксированной строки плюс динамическое значение, а именно env.GIT_COMMIT
: например: http://specific-server.com/project/${env.GIT_COMMIT}
В конце концов, я хочу, чтобы шаг был следующим:
// upload.groovy
def call() {
def props = config.git_url
}
и файл pipeline_config:
// pipeline_config.groovy
libraries {
artifactory
{
git_url = "http://specific-server/project/${env.GIT_COMMIT}"
}
}
Итак, вопрос сводится к следующему: Как я могу поручить этапу библиотеки восстановить некоторую динамическую переменную из файла pipeline_config.groovy?
@steven-terrana
Комментарии:
1. У меня нет опыта работы с шаблоном, но может ли шаг загрузки работать для вас?
2. Не думаю, что так.. Этот метод оценивает сценарий в файле в рабочей области. Это не так.. Хотя спасибо
Ответ №1:
JTE может разрешить env
переменную в конфигурации конвейера, предполагая, что среда была установлена для сборки.
Если GIT_COMMIT поступает из создаваемого проекта, вы можете определить эту информацию на этапе библиотеки, используя git cli, а затем объединить базовый URL, предоставленный из конфигурации конвейера.