Подтвердить что ты не робот

Как создать тег git в TeamCity?

Я хочу предоставить тег git для сервера TeamCity для его создания. Я передаю тег (т.е. release_1.1) в качестве параметра задания. Таким образом, внутри задания тег доступен как %tag%, но под Version Control Settings я не вижу способа использовать этот параметр, чтобы сервер мог проверить этот тег. Можно ли использовать этот параметр в настройках для проверки тега?

4b9b3361

Ответ 1

  • Перейдите в раздел "Изменить параметры конфигурации" → "Настройки контроля версий"
  • Для всех ваших корней VCS для этой конфигурации сборки нажмите "Редактировать", а затем:

    • put '+: refs/tags/*' в текстовое поле спецификации Branch
    • проверить Использовать теги как ветки

Затем вы сможете выбрать тег, когда вы нажимаете кнопку "..." рядом с пробегом.

Ответ 2

Мне удалось выполнить следующие действия:

В конфигурации сборки в разделе "Параметры сборки":

Определите Конфигурационный параметр:

  • Имя: TagToBuild
  • Вид: Configuration parameter
  • Значение:
  • Spec:
    • Ярлык: Tag to build
    • Описание: This should be the full path to the tag, i.e. refs/tags/0.5.5
    • Дисплей: Prompt
    • Тип: Text

Обратите внимание, что поле "значение" было намеренно оставлено пустым.

Затем в корне VCS:

  • Название ветки: %TagToBuild%

Когда я запустил сборку, мне будет предложено указать имя ветки/тега: Configuration Parameters

Ввод значения, такого как refs/tags/0.5.0, приводит к созданию хорошей сборки с именем ветки, указанным в результатах: Successful builds

Если вы попытаетесь помочь пользователю каким-либо образом за пределами описания, это, похоже, терпит неудачу. Поэтому вы не можете выполнить одно из следующих действий:

  • В параметре конфигурации установите значение "Значение" на refs/tags/ и добавьте имя тега.
  • В корне VCS установите "Имя ветки" на refs/tags/%TagToBuild%.

В обоих случаях на нашем немного старом (7.1) экземпляре Team City я получил ошибку:

Не удалось собрать изменения, ошибка: аргумент 2 для параметра @NotNull для jetbrains/buildServer/buildTriggers/vcs/VcsRootChangesLoader.loadChanges не должно быть null

Ответ 3

Я не делал этого с тегами, но я делал это с помощью ветвей. Я говорю TeamCity, чтобы построить все ветки, указав, что он должен построить +:refs/heads/*. Теперь, когда я нажимаю любую ветку, TeamCity строит ее. Затем внутри сборки я использую git branch и ищите строку, начинающуюся с *. Я вставляю это имя ветки в удобное место (AssemblyInfo.cs для .NET, package.json для node.) См. http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches

Ответ 4

Вам нужно указать формат тега в refs/tags/${tagName}.

Итак, ваш будет refs/tags/release_1.1.