【问题标题】:Increment variable value in TFS build +1在 TFS 构建中增加变量值 +1
【发布时间】:2018-10-24 02:52:55
【问题描述】:

我有一个带有预定义变量 $(ProjectBuildNumber) 的 Microsoft Visual Studio Team Foundation Server(版本 15.117.26714.0)。

在构建过程中,有什么方法可以将具有次要构建号的变量的值增加 +1?

$(ProjectBuildNumber)  =   663

所以,在下一次构建中它将是:

$(ProjectBuildNumber)  =   664

【问题讨论】:

    标签: tfs azure-devops azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    您不能在构建定义的构建号中引用变量。但是您可以做的是覆盖构建本身的内部版本号。您可以使用魔术日志命令或使用我的VSTS Variables Task to set the Build.BuildNumber in the build itself。变量任务确实扩展了变量引用。您可能只需将值设置为当前值即可扩展它。

    要自己发出日志命令,请使用批处理脚本、PowerShell 或 bash 将以下特定字符串输出到控制台:

    ##vso[build.updatebuildnumber]内部版本号

    更新当前版本的版本号。示例:

    ##vso[build.updatebuildnumber]my-new-build-number
    

    最低代理版本:1.88

    来源:https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md

    另一种选择是使用 $(Rev) 选项:

    Build.BuildNumber = 1.1.$(Rev:.r)  
    

    这将在每次构建运行时自动增加变量。

    update a variable in a Build Definition use yet another extension

    这些东西结合起来应该可以得到你想要的。

    【讨论】:

    • 所以,如果我理解正确,我不能使用构建任务永久更改变量值?只是在项目构建上下文中? $(Rev) 不是变体,因为 VSTS 中有多个项目,每次启动项目时,$(Rev) 的值都会增加。
    • No Rev 只是生成一个唯一的版本号。如果您在版本号前面加上项目名称,它将生成唯一的版本。
    • 要永久更改变量,请在此处使用扩展名:marketplace.visualstudio.com/…,但您还需要运行设置变量任务以使构建本身具有正确的值。
    【解决方案2】:

    在变量部分,

    将 ProjectBuildNumber 的值设置为 $[counter('', 663)]。

    这将从 663 作为 ProjectBuildNumber 开始对构建进行排队,并在后续构建队列中递增 1。

    【讨论】:

    • 这也适用于发布和重新部署发布!
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多