【问题标题】:Teamcity not propagating project prompt parameters towards build configuration vcs checkout rulesTeamcity 没有向构建配置 vcs 签出规则传播项目提示参数
【发布时间】:2015-11-04 19:52:00
【问题描述】:

我在 teamcity 中有一个“发布”项目,它有多个构建配置。

这些 BC 以这种方式相互依赖。

PreDotNET BC -> DotNET BC -- 
                           |
                           ↓
GruntJSWebFrontend BC --------> Deploy BC
                           ↑
                           |
DelphiMake BC --------------

我有 2 个 VCS 根,一个用于 JS 的 git,一个用于 .NET 的 SVN。

当用户触发“部署 BC”时,我想提示用户选择他想要构建的发布版本。这是简单的部分。我在项目中配置了一个参数(尝试过的 system.VERSION 和 env.VERSION)作为提示,当有人通过运行触发构建时,会询问用户他想要构建哪个版本。

但是现在我需要使用这个参数来检查两个 VCS 根中的右分支。但无论我做什么,无论我在 VCS 根目录中提供根路径并尝试通过结帐规则选择一个分支,或者如果我将 %system/env.VERSION% 参数添加到 VCS 根配置的路径,提示中的选定值不会被传递到结帐过程。

例如,如果我指定svn://server/blah/Release/%system.VERSION%/something 签出发生的时间,则参数为空,它会尝试签出svn://server/blah/Release//something

但烦人的事情是……如果我将参数更改为非提示参数并设置一个固定值,则该参数会很好地传递。

有什么提示吗?建议?

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    我在这里遇到了类似的问题:

    Parameterized Checkout Rules in Teamcity discards parameter when using svn+ssh

    我从未找到根本原因,但我确实找到了解决方法。

    诀窍似乎是您将参数移出 VCS 检出规则,并移入根本身。

    创建一个新的根,在这种情况下:

    svn://server/blah/Release/%system.VERSION%/
    

    然后添加您的结帐规则

    +:something => .
    

    有关在根目录中而不是规则中进行参数解析的一些事情导致我解决了这个问题。这是一个混乱的解决方法,但它似乎有效。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 2016-07-13
      • 2014-12-27
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多