如何使用MSBuild覆盖TeamCity系统变量的值?

时间:2018-04-02 12:16:41

标签: msbuild teamcity

TeamCity配置: 以下是在TeamCity中完成的Build Number格式设置 %system.BuildVersion%

将BuildVersion定义为系统参数。

MSBuildScript

<GetAssemblyIdentity 
AssemblyFiles="$(PPTCompiledOutputDirPath)\$(FileNameForAssembly)">
        <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity"/>
    </GetAssemblyIdentity>
    <PropertyGroup>
        <Pattern>(\d+)\.(\d+)\.(\d+)\.</Pattern>
        <In>%(AssemblyIdentity.Version)</In>
        <OutVersion>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern)))</OutVersion>
    </PropertyGroup>

    <Message Text="$(OutVersion)" />
    <Message Text="##teamcity[buildNumber '$(OutVersion)$(BuildCounter)']" />
    <Message Text="##teamcity[setParameter name='BuildVersion' value='$(OutVersion)$(BuildCounter)']"/>

我想更新参数&#39; BuildVersion&#39;的值。作为汇编版本和构建计数器。

这里我遇到了Teamcity执行问题,执行被取消了。

1 个答案:

答案 0 :(得分:1)

设置buildNumber的正确方法是:

<Message Importance="High" Text="##teamcity[buildNumber '$(OutVersion)$(BuildCounter)']" />