【问题标题】:Azure DevOps condition to execute phase only if there is a new artifact versionAzure DevOps 条件仅在有新工件版本时才执行阶段
【发布时间】:2019-09-13 14:43:16
【问题描述】:

我有一个包含多个链接工件的发布定义。仅当有特定工件的新版本可用时,我才想执行某个阶段/环境。

我知道我们可以通过“运行此阶段”自定义条件来实现这一点,但我无法找到表达式来查找和匹配环境中的现有工件版本。

任何关于在哪里寻找的想法将不胜感激。谢谢。

【问题讨论】:

    标签: tfs azure-devops


    【解决方案1】:

    没有自动变量可以保存这样的值。您可以做的是创建一个变量并在成功部署时更新该变量,然后读取该变量或查询 api 以找到最新的成功版本等

    【讨论】:

    • 我几乎成功地进行了此设置,但坚持将工件名称分配给变量。 ##vso[task.setvariable variable=LastBuildNumber;isOutput=true]$LastBuildNumber 仅对单个代理阶段进行分配。 :(
    • 你可以使用yaml在阶段之间共享变量,公平
    • 仍在 TFS 2018 上 :( 离更新到 AzureDevOps 还很遥远。所以除了 YAML 没有别的办法了吗?
    • 感谢您的帮助:)
    • 我发现对于 TFS 2018,使用 api-version=4.1-preview.6,我们可以对 Release Number 执行 GET,然后更新 json 中所需的变量并执行 PUT 以更新变量价值。 vsrm.dev.azure.com{organization}/{project}/_apis/release/releases/{releaseId}?api-version=4.1-preview.6
    猜你喜欢
    • 2021-03-20
    • 1970-01-01
    • 2021-09-08
    • 2017-02-20
    • 2022-09-23
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多