Изменение номера сборки Jenkins

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

set BUILD_NUMBER=45

Но в письме по-прежнему отображается номер сборки, который первоначально установил Jenkins.

Если у вас есть доступ к консоли скрипт (управление Дженкинс -> консоли скрипт), то вы можете сделать это следующим образом:

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)
Комментарии (8)

может быть выполнена с помощью плагина: https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

дополнительная информация: http://www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

если вам не нравится плагин:

Если вы хотите изменить номер сборки через файл nextBuildNumber, вам следует "Перезагрузить конфигурацию с диска" на странице "Управление Jenkins".

Комментарии (3)

В папке рабочей области задания, например:

C:\Program Files (x86)\Jenkins\jobs\job_name

находится файл с именем nextBuildNumber.

Установка номера сборки в этом файле и перезагрузка конфигурации с диска (меню Manage Jenkins) приведет к тому, что при запуске следующей сборки в качестве BUILD_NUMBER будет использоваться значение из этого файла.

Комментарии (3)

Возможно, пригодится комбинация этих плагинов:

  • Parametrized build plugin - определяем некоторую переменную, которая хранит номер вашей сборки
  • Version number plugin - использование переменной для изменения номера сборки
  • Build name setter plugin - использование переменной для изменения номера сборки
Комментарии (2)

Если у вас есть филиал наименование, в том числе Слэш (через мерзавец потока например), вы будете нуждаться, чтобы заменить Слэш с Юникода %2е в филиале имя.

Вот пример для трубопровода мой-трубопровод-название и филиалом выпуска/мой-релиз-ветка

Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)

Мне удалось узнать об этом, запустив следующую команду, которая будет список различных заданий, которые (филиалы) для вашего трубопровода

Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()

Надеюсь, что это помогает.

Комментарии (0)

С помощью переменных среды:

$BUILD_NUMBER =4
Комментарии (1)