Передача объекта переменной среды (параметра) в проект зависимости в TeamCity

У меня есть цепочка сборки с двумя проектами: A - это корневой проект, B зависит от него. B имеет две зависимости: артефакт и зависимость моментального снимка. Одна конфигурация сборки для B имеет набор переменных среды (параметра). Однако мне также нужен этот набор параметров для корневого проекта A.

Есть ли способ в TeamCity 9 передать параметр конфигурации сборки из проекта в его зависимость (в той же цепочке сборки)?

Ответ 2

Для TeamCity 8 и ниже, к сожалению, единственный способ, по которому могут передаваться параметры, - это направление цепочки сборки - обратное тому, что вы хотите - эти свойства называются Свойства зависимостей:

Свойства зависимостей

Это свойства, предоставляемые сборками, которые зависят от текущей сборки. on (через снимок или зависимость от артефакта).

Свойства зависимостей имеют следующий формат:

dep.<btID>.<property name>

Свойства зависимостей вытекают из корня дерева в его листья (в направлении потока цепочки сборки), но не наоборот, поэтому к свойствам A можно обращаться в B.

Это поясняется в документах здесь:

Параметры в зависимых строках

TeamCity предоставляет возможность использования свойств, предоставляемых сборками текущая сборка зависит от (через снимок или зависимость от артефакта). Когда сборка A зависит от сборки B, вы можете передать свойства из сборки B для построения А, то есть свойства могут передаваться только в направлении построить поток цепи, а не наоборот. Подробнее о том, как использовать параметры предыдущей сборки в цепочке, см. Зависимости Страница свойств.

Раньше у меня был аналогичный вариант использования для обратного потока - обходной путь был некрасивым - в основном вместо того, чтобы запускать цепочку сборки напрямую, мы будем запускать независимую сборку (пусть ее называют X), которая была только там удерживайте параметры сборки - затем измените цепочку сборки, чтобы корневая сборка (A в вашем случае) была зависеть от последней успешной сборки X и иметь триггер цепи сборки при успешной сборке X - это должно выполнить то, что вы хотите.

Для TeamCity 9 см. @Alina answer (который должен быть принятым ответом).