gpt4 book ai didi

Teamcity 自定义内部版本号生成器

转载 作者:行者123 更新时间:2023-12-02 08:02:11 26 4
gpt4 key购买 nike

我们的 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 合并它的方法。

如果这可能的话有什么想法吗?

最佳答案

您可以在构建脚本执行期间输出构建号,teamcity 将使用该输出来标记构建。例如,我使用与放入 AssemblyInfo.cs 中的版本相同的版本来标记我的构建。该版本的一部分(主要、次要)实际上已经在文件中,另一部分(构建、修订)在构建期间添加。

来 self 的 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>']

关于Teamcity 自定义内部版本号生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com