Gen*_*lph 5 teamcity dependencies
在TeamCity 9中,我有两个构建配置:A,B依赖于A(快照依赖性).有时A单独开始,有时与B链接.我想在A触发A时将A 更改build.number为(例如)0.<build.counter of B>
根据文件:
从TeamCity 9.0开始,可以通过在依赖构建中重新定义它们来覆盖依赖项参数.例如,构建配置A取决于B,B取决于C; A可以使用以下格式更改其任何依赖项中的参数:
reverse.dep.<btID>.<property name>
好的,我在B:reverse.dep.A.build.number=中创建了配置参数0.%build.counter%.因此,当我启动构建链时,我认为build.number将更改为0.123(例如,B的build.counter等于123),但是字符串 0.%build.counter%已经传递给A而A使用了自己的属性build.counter.
如何准确传递TeamCity参数的值?
考虑问题
没有办法使用reverse.dep.语法将值传递给依赖项构建。
verse.dep 参数值按原样沿依赖链传递。
(从这里: https: //youtrack.jetbrains.com/issue/TW-40772)
考虑问题
reverse.dep.A.use_C_number通过=将参数从“B”传递到“A” true,这样“A”就知道要使用哪个计数器。 在“A”中的脚本(新构建步骤)中使用此参数,例如(PowerShell):
# Gets build.number of "C"
$C_num = "%dep.C.build.number%"
# Gets 'use_C_number' parameter
$use_C_number = "%use_C_number%"
# Change current build.number if needed
if ($use_C_number -eq "true") {
Host-Write "##teamcity[buildNumber '1.2.3.$C_num']"
}
Run Code Online (Sandbox Code Playgroud)在这种情况下,“C”将仅由“B”触发,而不会由“A”触发,因为“A”将始终使用“C”的“合适”版本(“C”没有附加 VCS 根)。
注意:它应该至少是一个已完成的“C”版本。
注意:我不确定所有情况下的“合适”构建,因为对于没有附加到构建配置的 VCS 根的情况,文档不清楚,但它可以工作。无论如何,TeamCity 跟踪器中都会出现问题。
因此,只有当“B”排队时,C 的 build.counter 才会递增。当“A”单独启动时,它使用 default build.number。
PS 感谢 Nikita Skvortsov 为我提供了解决方案。
| 归档时间: |
|
| 查看次数: |
3116 次 |
| 最近记录: |