【问题标题】:Build Counter - Visual Studio Team Services构建计数器 - Visual Studio Team Services
【发布时间】:2016-09-01 08:23:05
【问题描述】:

在 Team City 中,有建造计数器的概念。每次执行构建时计数器都会递增,并且作用域为单个构建定义 - 因此调用构建定义 A 不会更新构建定义 B 的计数器,反之亦然。

在 Visual Studio Team Services(以前是 Visual Studio Online)构建中,有一个 $Env:BUILD_BUILDNUMBER,但这个数字似乎在全球范围内适用于所有构建定义。

为了使用 semver major.minor.patch 标记我的构建和后续的 nuget 包,我想访问像构建计数器这样的团队城市,范围为单个构建定义。 我宁愿不使用脚本来更新基于每个构建存储的某些文件或 http,这对于 Team City 中开箱即用的简单东西来说感觉像是很多工作。

【问题讨论】:

    标签: tfs teamcity azure-devops tfsbuild


    【解决方案1】:

    您可以在构建定义设置中的“常规”选项卡下更新“构建号格式”以使用“$(Rev:.r)”作为构建号,如下所示:

    major.minor$(Rev:.r)
    

    使用 $(Rev:.rr) 确保每个完成的构建都有一个唯一的名称。 构建完成后,如果构建号中没有其他内容 更改后,Rev 整数值加一。

    如果你想在号码中显示前缀零,你可以添加额外的 r 字符。例如,如果您想要 Rev,请指定 $(rev:.rr) 以 01、02 等开头的数字。

    详情请参考此链接:Build Number Format

    【讨论】:

    • 感谢 Eddie,但 Rev:.r 不是每天构建的计数器吗?还是每天 Rev:.r 而 Rev.rr 在所有日子里都是独一无二的?从文档中并不清楚
    • @SamShiles 这取决于内部版本号格式。如果您在内部版本号中包含日期时间,那么它将在日期时间更改后的第二天更改。但是如果你不包括日期时间并且 rev 之前的部分总是不会改变,那么它会不断增加。请参阅此描述:“构建完成后,如果构建编号中没有其他任何内容发生变化,则 Rev 整数值加一。”
    • @SamShiles 并且 $(rev:.r) 的范围仅限于单个构建定义,如果您希望计数器适用于整个团队项目集合,您可以使用 $(BuildID)。跨度>
    • 谢谢埃迪!现在有道理了。再次感谢。
    猜你喜欢
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2017-11-26
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多