【问题标题】:Sharing counter for version number in Azure YAML pipelinesAzure YAML 管道中版本号的共享计数器
【发布时间】:2020-12-10 09:20:05
【问题描述】:

我正在使用 Azure Pipelines 中的 counter 函数来生成版本补丁,让我可以在我的 CI/CD 中获得一个自动递增的版本号。

version.major: 4
version.minor: 2
version.patch: $[counter(format('{0}.{1}', variables['version.major'], variables['version.minor']), 0)]
version.full: $[format('{0}.{1}.{2}', variables['version.major'], variables['version.minor'], variables['version.patch'])]

但是,我现在需要在同一存储库中的两个管道之间共享此版本计数器。其中一个管道发布一些包,而另一个部署一些资源。我希望管道是分开的,因为有时一个需要在没有另一个的情况下运行——例如,因为它们是针对不同的路径过滤器触发的。但是,我希望它们都为相同的版本控制序列做出贡献——我不希望我的包的版本号与资源不同。

有没有办法实现这种共享版本控制序列?我已经尝试过variable reuse,但counter 在外部管道中进行评估,而不是在定义它的内部模板中进行评估。

【问题讨论】:

    标签: azure azure-pipelines azure-pipelines-yaml


    【解决方案1】:

    您需要将变量从一个管道传递到另一个管道。恐怕默认无法实现。

    作为一种解决方法,您可以创建一个变量组,每次第一个管道中有新版本号时,更新变量组内的变量值。然后在第二个管道中使用变量组中的变量。

    有多种方法可以更新变量组、Rest API、powershell、3rd-party 扩展。详细方法请参考本题答案:How to Increase/Update Variable Group value using Azure Devops Build Definition?

    【讨论】:

    • 你查看我的回复了吗?有用吗?
    • 好的,谢谢。标记为答案。
    猜你喜欢
    • 2020-05-28
    • 1970-01-01
    • 2022-08-24
    • 2022-01-15
    • 2021-03-23
    • 2021-10-25
    • 2022-07-20
    • 2020-03-21
    • 2021-01-20
    相关资源
    最近更新 更多