Mat*_*ias 13 teamcity continuous-integration environment-variables
我有一个包含两个项目的构建链:A是根项目,B依赖于它.B配置了两个依赖项:工件和快照依赖项.B的一个构建配置具有环境变量(参数)集.但是,我还需要为根项目A设置此参数.
TeamCity 9中是否有任何方法可以将构建配置参数从项目传递到其依赖项(在同一构建链中)?
Ali*_*ina 15
从TeamCity 9.0开始,可以通过在依赖构建中重新定义它们来覆盖依赖项参数:
reverse.dep.<btID>.<property name>
Run Code Online (Sandbox Code Playgroud)
对于TeamCity 8及更低版本,遗憾的是,传递参数的唯一方法是在构建链的方向 - 与您想要的相反 - 这些属性称为依赖项属性:
依赖属性
这些是当前构建所依赖的构建提供的属性(通过快照或工件依赖性).
依赖项属性具有以下格式:
dep.<btID>.<property name>
依赖属性从树的根到其叶子(在构建链流的方向上),但不是相反的方向,因此可以在B中访问A的属性.
这是明确的文档在这里:
依赖构建中的参数
TeamCity提供了使用当前构建所依赖的构建提供的属性的能力(通过快照或工件依赖性).当构建A依赖于构建B时,您可以将构建B中的属性传递给构建A,即属性只能在构建链流的方向上传递,反之亦然.有关如何使用链中先前构建的参数的详细信息,请参阅"依赖项属性"页面.
我之前也有类似的反向流程用例 - 解决方法并不漂亮 - 基本上不是直接触发构建链我们会触发一个独立的构建(让我们称之为X),只有那里才能保存构建参数 - 然后修改构建链以使根构建(在您的情况下为A)依赖于X的最后成功构建并且在成功构建X时具有构建链触发器 - 这应该实现您想要的.
对于TeamCity 9,请参阅@ Alina的答案(应该是接受的答案).
| 归档时间: |
|
| 查看次数: |
7103 次 |
| 最近记录: |