Я ищу способ совместного использования номера сборки между несколькими конфигурациями сборки. Цель состоит в том, чтобы иметь глобальный счетчик какого-либо типа, и все конфигурации сборки будут увеличивать его и использовать в своем собственном номере сборки.
Количество сборки TeamCity между несколькими конфигурациями сборки
Ответ 1
Если одна из конфигураций сборки A имеет зависимость моментальных снимков или артефактов от конфигурации сборки B, вы можете получить номер сборки из B в с помощью параметра зависимости: % dep. < B id > .build.number%
Где < B id > - идентификатор конфигурации сборки B (см. параметр buildTypeId в URL-адресе).
Ответ 2
Это решение работает для меня:
- Создать конфигурацию сборки. Скажем, "GenerateBuildNumber", не прикрепляйте шаблон. Не указывайте какие-либо шаги сборки. Нажмите "Сохранить" .
- Изменить конфигурацию для вашего проекта. Перейдите в раздел "Настройка конфигурации → Зависимости". Нажмите "Добавить новый моментальный снимок".
- Выберите ранее созданный "GenerateBuildNumber" в разделе "Зависит от". Снимите флажок "Не запускайте новую сборку, если она есть подходящая". Нажмите "Сохранить" .
- Перейдите в "Общие настройки", снимите "Формат номера сборки:", нажмите кнопку слева на 3 строки. Выберите "% dep.YouProjName_GenerateBuildNumber.env.BUILD_NUMBER%". Нажмите "Сохранить" .
Запустите сборку проекта. Во-первых, он должен запустить проект GenerateBuildNumber, а затем ваш проект сгенерированным числом. Выполняйте шаги 2-4 для каждого проекта, для которого вы хотите иметь уникальный сгенерированный номер. Прибыль!
Ответ 3
Я считаю, что плагин AutoIncrementer должен сделать трюк. Он позволяет делиться номерами между конфигурациями. http://confluence.jetbrains.com/display/TW/Autoincrementer
Ответ 4
Вы можете сделать один проект Team City с использованием номера сборки из другого проекта, выполнив следующие шаги:
-
Откройте свойства конфигурации проекта TeamCity для конфигурации, в которой вы хотите импортировать номер сборки.
-
Перейдите в раздел "Зависимости".
-
Добавьте "Зависимость артефакта" и выберите конфигурацию проекта, из которой вы хотите получить номер сборки из зависимого проекта.
-
В поле "Получить артефакты из" выберите "Сборка с указанным номером сборки"
-
Рядом с полем ввода "Создать номер" есть кнопка, которую вы можете щелкнуть, чтобы выбрать, где получить номер сборки. В этом списке вы должны увидеть такую опцию, как "dep.bt2.build.number" (число может не быть 2 для вашей конфигурации).
Ответ 5
AutoIncrementer хорош, но теперь есть новый плагин, который пытался сделать то, что некоторые пользователи сказали, что они не могут делать с AutoIncrementer:
http://java.nicholaswilliams.net/TeamCityPlugins/introduction#SharedBuildNumber
У него есть пользовательский интерфейс, когда вы добавляете его в TeamCity, а также можете использовать даты в формате, который вы, возможно, захотите использовать.