【问题标题】:Share parameter with dynamic build configure ID in teamcity与 teamcity 中的动态构建配置 ID 共享参数
【发布时间】:2020-06-05 11:04:08
【问题描述】:

我有一个包含两个作业的构建链:B 依赖于 A。B 需要从 A 获取构建计数器。 dep.btID.property 名称可以共享从 A 到 B 的参数。 但是,btID 是由 git 为每个分支动态创建的

我添加了以下构建 B(bash) 的步骤:

ABuildID=dep.dev_branch_A.env.BUILD_NUMBER
echo '%$ABuildID%'

echo '%${ABuildID}%'

这将导致没有兼容的代理

以下可以工作,但是我需要适应所有分支

echo '%dep.dev_branch_A.env.BUILD_NUMBER%'

TeamCity 9 中是否有任何方法可以将具有 dynamic btID 的构建配置参数从项目 A 传递到其依赖项(在同一构建链中)?

---------找到解决方案后更新,希望对以后有帮助--------- ---------------

我通过rest api请求上次成功构建projectA找到了解决方案。

在 bash 中:

  curl -s https://teamcity_host_name/guestAuth/app/rest/buildTypes/dev_branch_A/builds?status=SUCCESS&state=finished&count=1

响应将提供project_A的多个参数,包括内部版本号

请查看teamcity rest API的介绍: https://www.jetbrains.com/help/teamcity/rest-api.html#RESTAPI-URLStructure

感谢 Niraj Gajjar 的回答

【问题讨论】:

  • “ABuildID”是 config.parameter 吗?
  • 否,ABuildID 是 shell 中的变量

标签: bash continuous-integration teamcity


【解决方案1】:

您已在 ProjectB 中添加 projectA 作为 Snapshot DependencyArtifact Depedency(为此转到 左侧面板菜单中的strong>依赖项)

之后你就可以使用 ProjectA 的构建计数器了

%dep.ProjectA.build.counter%

echo %dep.ProjectA.build.counter%

【讨论】:

  • 我做了,但不起作用。目前,我找到了解决方案。我可以得到 projectA 的内部版本号以响应teamcity_host_name/guestAuth/app/rest/buildTypes/dev_branch_A/…
  • ABuildID 是你的 shell 参数吗?
  • 不,它只是一个变量,我试图为每个分支生成动态 btID
  • 您是否尝试过使用 ABuildID=%dep.ProjectA.build.counter% ?
  • 是的,ABuildID=%dep.ProjectA.build.counter% 炒锅。但 ProjectA 对于不同的分支是不同的。例如master分支的btID是master_ProjectA。
猜你喜欢
  • 2010-12-18
  • 2015-09-13
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 2013-07-16
  • 1970-01-01
  • 2017-11-29
相关资源
最近更新 更多