Почему моя сборка TeamCity перестала работать?

У меня есть конфигурация сборки TeamCity, которая до недавнего времени работала нормально. Внезапно в очереди застряла сборка, в которой говорится, что она несовместима ни с одним агентом. Указана причина:

Неявные требования: teamcity.build.branch определено в параметре: BuildFormatSpecification

Мой параметр BuildFormatSpecification определяется следующим образом:

%MajorVersion%.%MinorVersion%.%PatchVersion%-%teamcity.build.branch%

Это, в свою очередь, используется в поле «Формат номера сборки» вместе со счетчиком сборки, например:

%BuildFormatSpecification%.%sharedBuildNumber.id4%

Идея состоит в том, что номер сборки выглядит как «1.0.0-develop.22» и включает в себя собираемую ветку Git. Это соответствует правилам семантического управления версиями. Эта схема работала у меня в ряде проектов, но вдруг эта сборка застряла, и я не могу понять, почему.

Любые идеи?


person Tim Long    schedule 11.03.2014    source источник
comment
У меня была эта ошибка, когда мой корневой путь VSC (Извлечь изменения из) указывал на физический каталог вместо URL-адреса. Это работало на одном агенте, где физический путь был действительным. У всех других агентов не было репозитория по этому пути. После удаления единственного работающего агента другие агенты не смогли проверить источники, в результате чего %teamcity.build.branch% не был определен. Решение состояло в том, чтобы изменить путь к глобально доступному URL-адресу репозитория.   -  person qbik    schedule 18.12.2014


Ответы (1)


teamcity.build.branch — это предопределенный параметр сборки, но он определяется только в том случае, если настроена спецификация ветви . Поэтому, чтобы решить вашу проблему, убедитесь, что на вашем этапе сборки настроен корень VCS, и добавьте, например. +:refs/heads/(master) в качестве спецификации вашей ветки.

Из документации TeamCity по требованиям к агенту и неявным требованиям:

Любая ссылка (имя в знаках %) на неизвестный параметр считается неявным требованием. Это означает, что сборка будет выполняться только на том агенте, который предоставляет указанные параметры.

В противном случае параметр следует сделать доступным для конфигурации сборки, определив его на уровне конфигурации сборки или проекта.

person Johan Boberg    schedule 07.01.2015
comment
Кроме того, Team City не устраняет проблему после ее исправления, вам нужно удалить запрос на сборку и снова добавить его. Ницца. По крайней мере, в версии, которую я использую, это несколько сборок назад. По иронии судьбы, если вы установите ветку по умолчанию (обязательно), а затем оставите спецификацию ветки пустой (не должно требоваться, так как их описание: ветки для мониторинга, кроме ветки по умолчанию, то есть «нет», просто отслеживайте ветку по умолчанию 1. Кроме того, если вы переключитесь с одной строки здесь на две полные спецификации, в вашей ветке отобразятся изменения с «develop» на «/ref/head/develop», которые - person Traderhut Games; 16.07.2019
comment
тратит место в описании и добавляет мусор к имени сборки - и приводил к сбою моих сборок из-за имени ... Не знаю, как это исправить .. - person Traderhut Games; 16.07.2019
comment
Вы должны задать новый вопрос об именах веток, но ответ заключается в использовании круглых скобок вокруг той части, которую вы хотите отобразить, в моем примере это будет мастер. См. jetbrains.com/help/teamcity. /. - person Johan Boberg; 18.07.2019