TeamCity:项目参数继承问题?

时间:2013-09-24 18:30:05

标签: parameters dependencies teamcity

我有一个TeamCity 8.0.3项目,其中有多个配置,其中有一个公共参数(定义为项目参数):targetServerIP。其中一个配置是“ 1单击部署”,它通过使用快照依赖项启动其他配置。我已经将参数设置为“提示”,因此每次运行任何配置时都会询问IP,这就是

问题: 单独工作正常,在每个配置运行时,IP被询问并成功应用于配置。但是当我执行“ 1 clic deployment ”时,它也会询问IP,但不会将其传输给其他依赖配置(值保持<empty>)。

我的问题:如何在提示时将此参数设置为应用于其他配置?

PS:我显然试图将其设置为env.参数,但它没有帮助。

PS2:对我来说,使用模板似乎不是一个好的解决方案。

3 个答案:

答案 0 :(得分:2)

有两个问题。我可以帮忙,<打击>我试图解决的问题刚解决了自己。

您的问题是如何设置链。 1点击部署“取决于其他人。

无法将参数传递给其他版本 可以使用 dep.dependent_build_configuration.paramter_name 的依赖构建中的参数。

修复

你需要做两件事。

  1. 设置工件依赖项
  2. 设置触发器

  3. 构建A

    - 参数

    GlobalParameter

    • 显示:正常
    • 输入:文字
    • 允许值:非空

    构建B

    - 参数

    LocalParameter

    • 显示:隐藏
    • 输入:文字
    • %dep.Build_A_GlobalParemeter%

    - 快照依赖

    • 取决于:“Build A”

    - 触发器

    • TriggerType :完成构建触发器
    • 构建配置:构建A

    这是如何工作的

    工件依赖通过%dep.Build_A.GlobalParameter%语法使变量可用。 完成构建触发器会导致构建A 触发构建B 。您将可以访问参数,因为它们是从以前的版本中保存的。

答案 1 :(得分:0)

直到今天(1个月)我还没有找到问题所在(调查中丢失了很多天),唯一的解决方法是每次需要时手动更改参数值。

也许XML配置文件有什么特别之处?我不知道。

答案 2 :(得分:0)

在完成@Brandon的响应后,您可以首先使用TeamCity RestAPI实现您想做的事情,您可以在构建ID上调用生成的属性,以查看在构建上设置了什么属性。

curl my.teamcityserver.com/app/rest/builds/<some-parent-build-id>/resulting-properties

在XML中搜索所需的参数名称,您应该能够从父版本中获取值。