Mat*_*att 4 teamcity build-numbers
我们的Teamcity构建当前生成的格式为1.0.0.[SVN REVISION],它传递给MSBUILD.
我需要将其更改为格式1.0.[DLL VERSION].[SVN REVISION]我们在其中插入依赖dll的去点版本.例如,如果我们的依赖dll是版本1.2.3.4,则生成的构建编号将是1.0.1234.[SVN REVSION].
依赖dll是构建源的一部分,所以我希望我可以使用构建参数和一个小的exe来做一些事情,将它与版本信息进行整合,但是看不到任何通过UI合并它的方法.
任何想法,如果这是可能的?
syl*_*aar 10
您可以在构建脚本执行期间输出构建号,teamcity将使用该输出来标记构建.例如,我使用与AssemblyInfo.cs相同的版本标记我的构建.该版本的一部分(Major,Minor)实际上已经在文件中,另一部分(Build,Revision)在构建期间被添加.
从我的msbuild脚本:
<Target Name="Setup">
    <!-- Version.txt contains the major and minor version numbers, 
         The build number and revision come from environment variables
         in the next step -->
    <Version VersionFile="Version.txt" BuildType="None" RevisionType="None">
        <Output TaskParameter="Major" PropertyName="Major" />
        <Output TaskParameter="Minor" PropertyName="Minor" />
    </Version>
    <!-- If you want to build a release without going through the build
         server, you should define the following 2 environment variables
         when running this build script -->
    <!-- BUILD_NUMBER environment variable supplied by the build server -->
    <CreateProperty
        Value="$(BUILD_NUMBER)">
        <Output
            TaskParameter="Value"
            PropertyName="Build" />
    </CreateProperty>
    <!-- BUILD_VCS_NUMBER environment variable supplied by the build server -->
    <CreateProperty
        Value="$(BUILD_VCS_NUMBER)">
        <Output
            TaskParameter="Value"
            PropertyName="Revision" />
    </CreateProperty>       
    <AssemblyInfo CodeLanguage="CS"  
        OutputFile="Properties\VersionInfo.cs" 
        AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)" 
        AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)" />
    <!-- Tell the build server what our actual build number is -->
    <Message Text="##teamcity[buildNumber '$(Major).$(Minor).$(Build).$(Revision)']" />
</Target>
您只需在构建格式期间输出版本 ##teamcity[buildNumber '<buildnum>']
| 归档时间: | 
 | 
| 查看次数: | 3570 次 | 
| 最近记录: |