Ответ 1
Поскольку TeamCity 9.0 можно переопределить параметры зависимостей, переопределив их в зависимой сборке:
reverse.dep.<btID>.<property name>
У меня есть цепочка сборки с двумя проектами: A - это корневой проект, B зависит от него. B имеет две зависимости: артефакт и зависимость моментального снимка. Одна конфигурация сборки для B имеет набор переменных среды (параметра). Однако мне также нужен этот набор параметров для корневого проекта A.
Есть ли способ в TeamCity 9 передать параметр конфигурации сборки из проекта в его зависимость (в той же цепочке сборки)?
Поскольку TeamCity 9.0 можно переопределить параметры зависимостей, переопределив их в зависимой сборке:
reverse.dep.<btID>.<property name>
Для TeamCity 8 и ниже, к сожалению, единственный способ, по которому могут передаваться параметры, - это направление цепочки сборки - обратное тому, что вы хотите - эти свойства называются Свойства зависимостей:
Свойства зависимостей
Это свойства, предоставляемые сборками, которые зависят от текущей сборки. on (через снимок или зависимость от артефакта).
Свойства зависимостей имеют следующий формат:
dep.<btID>.<property name>
Свойства зависимостей вытекают из корня дерева в его листья (в направлении потока цепочки сборки), но не наоборот, поэтому к свойствам A можно обращаться в B.
Это поясняется в документах здесь:
Параметры в зависимых строках
TeamCity предоставляет возможность использования свойств, предоставляемых сборками текущая сборка зависит от (через снимок или зависимость от артефакта). Когда сборка A зависит от сборки B, вы можете передать свойства из сборки B для построения А, то есть свойства могут передаваться только в направлении построить поток цепи, а не наоборот. Подробнее о том, как использовать параметры предыдущей сборки в цепочке, см. Зависимости Страница свойств.
Раньше у меня был аналогичный вариант использования для обратного потока - обходной путь был некрасивым - в основном вместо того, чтобы запускать цепочку сборки напрямую, мы будем запускать независимую сборку (пусть ее называют X), которая была только там удерживайте параметры сборки - затем измените цепочку сборки, чтобы корневая сборка (A в вашем случае) была зависеть от последней успешной сборки X и иметь триггер цепи сборки при успешной сборке X - это должно выполнить то, что вы хотите.
Для TeamCity 9 см. @Alina answer (который должен быть принятым ответом).