首页 文章

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

提问于
浏览
13

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

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

2 回答

  • 5

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

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

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

    依赖项属性这些是当前构建所依赖的构建提供的属性(通过快照或工件依赖项) . 依赖项属性具有以下格式:dep . <btID> . <property name>

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

    这在文档_1089510中得到澄清:

    依赖构建中的参数TeamCity提供了使用当前构建所依赖的构建提供的属性的能力(通过快照或工件依赖性) . 当构建A依赖于构建B时,您可以将构建B中的属性传递给构建A,即属性只能在构建链流的方向上传递,反之亦然 . 有关如何使用链中先前构建的参数的详细信息,请参阅“依赖项属性”页面 .

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

    For TeamCity 9 see @Alina's answer (应该是接受的答案) .

相关问题