Глобальный номер сборки для трубопровода Jenkins - PullRequest
0 голосов
/ 06 сентября 2018

Мы находимся в процессе перехода от VSoft Continua CI к Jenkins для нашей среды управления сборкой. Поскольку мы используем слегка измененный процесс Gitflow, мы хотели бы, чтобы Jenkins мог строить из любой функции, выпуска или исправления, ветвления и запросов на извлечение, мы решили пойти по конвейеру Jenkins.

Номер версии для сборок из веток выпуска и исправлений основан на имени ветки (например, выпуск / 2.1.0), в то время как сборки из любой другой ветки или запроса на извлечение основаны на дате (например, 6 сентября 2018 года разрешается до 18,9 +0,6). Continua CI предоставляет номер сборки с автоматическим приращением во всех конфигурациях сборки, поэтому мы используем этот номер сборки в качестве заключительной части нашего номера сборки (например, 2.1.0.10, 18.9.6.11, 2.1.0.12, ...). Этот сгенерированный номер версии передается в качестве параметра в MSBuild, используя этот номер версии в качестве версии файла и версии сборки наших двоичных файлов .NET.

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

Есть ли у проекта Jenkins Pipeline способ совместно использовать номер сборки по всем ветвям / запросам на извлечение?

1 Ответ

0 голосов
/ 07 сентября 2018

Вот несколько идей:

  • основано на этом файле: ваш этап выполняется, скажем, на узле master; выбрать файл и выбрать формат (файл свойств может быть хорошим началом); блокировка , чтение , обновление, запись, разблокировка .

  • делегировать это внешней службе (например, службе с Конечная точка REST, которую вы используете для запроса ID).

  • написать плагин для него.

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