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