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

TeamCity - использование setParameter для передачи информации между этапами сборки

Я должен делать что-то другое, чем то, что было задано, и ответил здесь, потому что решение, похоже, не работает для меня: TeamCity, передавая идентификатор, сгенерированный на одном этапе сборки, на позже выполните шаг

Я хочу использовать строку, сгенерированную одним шагом сборки на последнем этапе сборки. До сих пор я установил переменную среды, называемую "ТЕСТ", которая пуста. Оба этапа сборки используют Runner командной строки.

Шаг сборки # 1:

\##teamcity[setParameter name='env.TEST' value='test']

Шаг сборки # 2:

echo $TEST

echo %env.TEST%;

Заполнитель на данный момент, но если бы я мог получить доступ к тестовой строке ('test'), установленной в Build Step 1, я был бы так счастлив.

4b9b3361

Ответ 1

вам нужно откликнуться на эту строку, например

echo "##teamcity[setParameter name='env.TEST' value='test']"

Ответ 2

Я обнаружил, что с длинными значениями, как только TeamCity разбивает вывод журнала на две отдельные строки , эхо больше не будет работать. Вместо этого вы должны использовать Write-Host.

Write-Host "##teamcity[setParameter name='env.TEST' value='test']"

Это всегда должно работать, просто боковое примечание - это значение будет доступно только на последующих этапах сборки.

Ответ 3

Я думаю, что у вас есть дополнительный "\". Попробуйте удалить это и добавить к нему двойные кавычки, и он должен работать.

 "##teamcity[setParameter name='env.TEST' value='test']"

Если он не работает, попробуйте использовать тип Runershell, поскольку я использую его для его настройки, и он работает.

Ответ 4

Чтобы расширить приведенные выше ответы, с помощью powershell это будет выглядеть так, как показано на шаге 1:

Write-Host "##teamcity[setParameter name='env.TEST' value='$test']"

... и вы можете использовать значение, подобное этому на шаге 2:

echo %env.Test%

Также как примечание, вам нужно будет установить env.Test в параметрах сборки TC равным чему-то. Я просто использовал пробел, так как знаю, что значение будет установлено через ps script. Надеюсь это поможет.