将环境变量(参数)传递给TeamCity中的依赖项目

时间:2015-03-03 00:43:53

标签: continuous-integration environment-variables teamcity

我有一个包含两个项目的构建链:A是根项目,B依赖于它。 B配置了两个依赖项:工件和快照依赖项。 B的一个构建配置具有环境变量(参数)集。但是,我还需要为根项目A。

设置此参数

TeamCity 9中是否有任何方法可以将构建配置参数从项目传递到其依赖项(在同一构建链中)?

2 个答案:

答案 0 :(得分:15)

从TeamCity 9.0开始,可以通过在依赖版本中重新定义它们来override the dependencies parameters

reverse.dep.<btID>.<property name>

答案 1 :(得分:5)

对于TeamCity 8及更低版本,遗憾的是,传递参数的唯一方法是构建链的方向 - 与您想要的相反 - 这些属性称为Dependencies Properties

  

依赖关系属性

     

这些是当前构建所依赖的构建提供的属性   on(通过快照或工件依赖)。

     

依赖项属性具有以下格式:

     

dep.<btID>.<property name>

依赖属性属性从树的根到其叶子(在构建链流的方向上),但不是相反的方向,因此可以在B中访问A的属性。

这在文档here中阐明:

  

从属构建中的参数

     

TeamCity提供了使用构建提供的属性的功能   当前构建依赖于(通过快照或工件依赖性)。   当构建A依赖于构建B时,您可以从构建B传递属性   建立A,即属性只能在方向上传递   建立链流而不是相反。有关如何使用的详细信息   链中的上一个构建的参数,请参阅依赖项   属性页面。

我之前也有类似的反向流程用例 - 解决方法并不漂亮 - 基本上不是直接触发构建链,而是触发独立构建(让我们称之为X )那只是保存构建参数 - 然后修改构建链以使根构建(在您的情况下为A)依赖于X的最后成功构建并且在成功构建X时具有构建链触发器 - 这应该完成你想要的。

对于TeamCity 9,请参阅@ Alina的回答(这应该是接受的答案)。