FAKE получить сборку TeamCity

Я создаю некоторые сценарии сборки, используя FAKE для настройки TeamCity. Часть моей сборки требует от меня доступа к teamcity.build.branch параметр, однако, поскольку это не переменная окружения, я не уверен, как получить к нему доступ.

Я пытался добавить %teamcity.build.branch% к переменной среды в TeamCity, но, похоже, это не так. Я также не могу получить к нему доступ с помощью модуля FAKE git, потому что агенты городских команд не используют git для получения файлов проекта, TeamCity передает их им.

Как бы я получить teamcity.build.branch Параметр до моих скриптов FAKE? В идеале я хотел бы, чтобы она была переменной среды, чтобы я мог выбрать ее прямо из скрипта, но я открыт для любых других идей.

2 ответа

Решение

Я понял это с небольшой помощью из ответа @Nadeem.

Теперь у меня есть файл build.bat/cmd, принимающий параметр, который я затем передаю в мой вызов Fake.exe следующим образом:

"packages\FAKE\tools\Fake.exe" build.fsx branch=%1

Тогда внутри моего поддельного кода я использую getBuildParamOrDefault "branch" <default branch here>,

Я тогда использую это как название ветви. Я также использую разделение строк в параметре сборки, который приходит, потому что обычно это в формате ref/head/<branch name> и я хочу только название филиала.

Я также должен был пройти в %teamcity.build.vcs.branch.<project>% вместо %teamcity.build.branch% моим агентам не понравилось неявное требование. Я не совсем уверен, почему это так, но сейчас все работает хорошо.

Попробуйте пройти %teamcity.build.branch% в качестве параметра на этапе сборки.

Другие вопросы по тегам