我有一个包含两个项目的构建链:A是根项目,B依赖于它。 B配置了两个依赖项:工件和快照依赖项。 B的一个构建配置具有环境变量(参数)集。但是,我还需要为根项目A。
设置此参数TeamCity 9中是否有任何方法可以将构建配置参数从项目传递到其依赖项(在同一构建链中)?
答案 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的回答(这应该是接受的答案)。