4

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

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

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

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

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

4

3 回答 3

2

有2个问题。一个我可以提供帮助,一个我试图解决自己的问题只是解决了自己。

您的问题是如何设置链条。一键部署“取决于”其他部署。

不能将参数传递给其他构建。
可以通过dep.dependent_build_configuration.paramter_name使用来自依赖构建的参数。

修复

你必须做两件事。

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

建个

- 参数

全局参数

  • 显示:正常
  • 类型:文本
  • 允许值:非空

构建 B

- 参数

本地参数

  • 显示:隐藏
  • 类型:文本
  • %dep.Build_A_GlobalParemeter%

- 快照依赖

  • 取决于:“构建 A”

- 触发器

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

这是如何工作的

工件依赖项通过%dep.Build_A.GlobalParameter%语法使变量可用。Finish Build Trigger导致Build A触发Build B。您将可以访问这些参数,因为它们是从以前的构建中保存的。

于 2014-09-22T17:54:19.237 回答
0

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

也许与 XML 配置文件有什么特别的关系?我不知道。

于 2013-10-20T12:04:44.110 回答
0

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

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

在 XML 中搜索您需要的参数名称,您应该能够从父构建中获取值。

于 2020-01-24T16:19:09.620 回答