2015-10-15 140 views
1

我建立在一个TC持续交付管道,并作为第0生成步骤,我希望能够提取我给唯一的版本号对我的承诺。的Git版本号从TeamCity的8.1中特定分支提交

它看起来像这样:release_4.46。

我想用“4.46'部分将追加到我的管道的不同步骤,并作为最后一步,我的名字作为神器例如app_4.46.war。

我设法聚集了广大的管道(单元测试,jsHint,Maven构建),它的启动和运行,但我不能让此功能的结束。

任何帮助或指针表示赞赏。 谢谢

+0

使用[GIT中描述](https://git-scm.com/docs/git-describe)用于这样的目的。这不是你想要的,但可以给出令人满意的结果 – user3159253

回答

0

您可以尝试添加一个从分支名称中提取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% 

此功能,TeamCity的参数ExtractedVersion值为4.46应该可用于其余的构建步骤。