【问题标题】:Pass branch name to Snapshot Dependency in TeamCity将分支名称传递给 TeamCity 中的快照依赖项
【发布时间】:2019-07-13 06:26:55
【问题描述】:

我有 2 个存储库 A 和 B,它们都在 TeamCity 中具有构建配置。
repo A 中的更改可能会影响 repo B。当在 repo A(比如分支 R)上测试 PR 时,我希望能够开始另一个测试 repo B 并了解分支 R 的 teamcity 工作 .更具体地说,A 在 R 上运行,B 在 Master 上运行,B 有一个构建步骤,需要 R 作为命令的参数。在 teamcity 中,B 的构建配置是 A 的构建配置的快照依赖。

另一个答案向我展示了如何将参数传递给快照依赖项:Passing an environment variable (parameter) to dependency project in TeamCity
但是,我不能传递像 %teamcity.build.branch% 这样的分支名称,因为文档指定:

注意reverse.dep的值。参数被推送到 依赖“按原样”构建,没有参考解析。 %-参考, 如果有的话,将在构建的上下文中解决 参数被推送到。

来自: https://confluence.jetbrains.com/display/TCD9/Predefined+Build+Parameters#PredefinedBuildParameters-OverridingDependenciesProperties

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    您可以为 B 使用完成构建触发器,并确保触发器可以使用相同的分支 R。

    等待成功构建:A 分支过滤器: +:R

    【讨论】:

    • 这两个 repos 将在不同的分支上运行。我将此编辑添加到我的问题中以澄清:“更具体地说,A 在 R 上运行,B 在 Master 上运行,B 有一个构建步骤需要 R 作为命令的参数”
    • 由于你 B 对 A 有快照依赖,你可以在需要来自 A 的分支名称的步骤中使用以下内容 %dep.TestProjects_A.teamcity.build.branch%
    • 否定,是A需要B的分支名。B可以通过%dep访问A的分支,反之不行。
    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多