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

TeamCity, передавая идентификатор, сгенерированный на одном этапе сборки, на более поздний шаг сборки

Новое для TeamCity. У меня несколько шагов сборки. Шаг 3 генерирует идентификатор, который необходим на шаге 4. Каков наилучший способ передать идентификатор (строку) между шагами 3 и 4? Шаги сборки написаны в Ruby. Можно ли задать переменную среды?

4b9b3361

Ответ 1

Да, вы можете установить переменную среды на одном этапе сборки и использовать ее на следующем шаге. Вам необходимо будет использовать служебное сообщение в вашей сборке script, как описано здесь http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-AddingorChangingaBuildParameterfromaBuildStep, чтобы динамически обновлять параметр сборки, который вы можете использовать в следующем шаге. Обратите внимание, что он не будет доступен на шаге, который его генерирует, только в следующем.

Обратите внимание, что для установки переменной она должна быть выписана как-то (**echo** для bash командной строки, **write-host** для Powershell), в кавычках. Пример:

echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']"

и использовать эту переменную write %env.ENV_AAA% в поле на следующем этапе сборки (Atleast in TeamCity 9.1.7))