【问题标题】:Version number of Git commit from a specific branch in TeamCity 8.xTeamCity 8.x 中特定分支的 Git 提交的版本号
【发布时间】:2015-10-15 17:19:05
【问题描述】:
我正在 TC 中构建一个持续交付管道,作为第 0 个构建步骤,我希望能够提取我提供给我的提交的唯一版本号。
看起来像这样:release_4.46。
我想使用“4.46”部分附加到我的管道的不同步骤,作为最后一步,将我的工件命名为例如app_4.46.war。
我已经设法组装了大部分管道(单元测试、jsHint、Maven 构建)并且它已启动并运行,但我无法完成此功能。
感谢任何帮助或指针。
谢谢
【问题讨论】:
标签:
java
git
teamcity
continuous-delivery
【解决方案1】:
您可以尝试添加一个从分支名称中提取 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 应该可用于其余构建步骤。