Teamcity,为下一个构建设置配置参数

时间:2014-05-06 13:10:08

标签: teamcity

我正在尝试设置/更改构建1中的构建参数以在构建2中使用。

在构建1中,我有一个构建步骤,可以设置如下配置参数:

echo "##teamcity[setParameter name='ENVIRONMENT' value='%Target environment%']"

在构建2的构建步骤中,我想在rake任务中使用此环境变量 指定%ENVIRONMENT%

我遇到的问题是配置参数在构建2中不可见。我肯定错过了必要的东西。

我也试过env变量,但这似乎是错误的方法,因为这只是构建变量,在构建脚本中不需要。

任何线索?

由于

3 个答案:

答案 0 :(得分:3)

您可以使用构建1中所需的值发布工件,将构建2中的工件依赖项引入构建1,并在构建2的第一步中将该工件再次转换为构建值,以用于构建中的其他步骤2使用你提到的echo(或更好的Write-Host)语句。

答案 1 :(得分:2)

您可以像我一样解决这个问题: Is it possible to permanently update the value of a TeamCity build parameter as a result of a custom run?

Build 1可以更新构建2中使用的变量,而不是构建2来尝试读取构建1中的参数。

在构建代理上下载并安装CURL

添加命令行步骤以构建1:

curl -v --request PUT -d "%Target environment%" --Header "Content-Type: text/plain" http://username:password@servername:8080/httpAuth/app/rest/projects/Build2Project/parameters/ENVIRONMENT

这会更新项目上参数的值,但如果您愿意,可以使用REST API在特定的构建配置上更新它。

可以找到TeamCity v8的所有REST.API文档on their website

答案 2 :(得分:0)

您可以在构建配置X的脚本中引用您在构建配置1中设置的MyVariable变量:%dep.BuildConfiguration1Id.MyVariable%