我正在 TC 中构建一个持续交付管道,作为第 0 个构建步骤,我希望能够提取我提供给我的提交的唯一版本号。
它看起来像这样:release_4.46。
我想使用“4.46”部分附加到管道的不同步骤,作为最后一步,将我的工件命名为 app_4.46.war。
我已经设法组装了大部分管道(单元测试、jsHint、Maven 构建)并且它已启动并运行,但我无法完成此功能。
任何帮助或指针表示赞赏。谢谢
我正在 TC 中构建一个持续交付管道,作为第 0 个构建步骤,我希望能够提取我提供给我的提交的唯一版本号。
它看起来像这样:release_4.46。
我想使用“4.46”部分附加到管道的不同步骤,作为最后一步,将我的工件命名为 app_4.46.war。
我已经设法组装了大部分管道(单元测试、jsHint、Maven 构建)并且它已启动并运行,但我无法完成此功能。
任何帮助或指针表示赞赏。谢谢
您可以尝试添加一个从分支名称中提取 4.46 的 powershell 步骤,并设置一个可在其余步骤中使用的 teamcity 参数。Powershell 代码应类似于:
function Set-Version{
param
(
[string]
$branch
)
$ExtractedVersion = $branch.Split("_")[1]
Write-Host "##teamcity[setParameter name='ExtractedVersion' value='$ExtractedVersion']"
}
然后在powershell步骤中你可以调用这个函数
Set-Version %teamcity.build.branch%
执行此步骤后,其余构建步骤应该可以使用值为 4.46 的 teamcity 参数 ExtractedVersion。