【问题标题】:How to override value of TeamCity System Variable Using MSBuild?如何使用 MSBuild 覆盖 TeamCity 系统变量的值?
【发布时间】:2018-04-02 12:16:40
【问题描述】:

TeamCity 配置: 下面是在 TeamCity 中完成的内部版本号格式设置 %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)']"/>

我想将参数“BuildVersion”的值更新为程序集版本和构建计数器。

在这里,我遇到了有关执行 Teamcity 的问题,并且执行被取消了。

【问题讨论】:

    标签: msbuild teamcity


    【解决方案1】:

    设置 buildNumber 的正确方法是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 2011-05-16
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      相关资源
      最近更新 更多