gpt4 book ai didi

Azure DevOps 版本跳过任务

转载 作者:行者123 更新时间:2023-12-03 01:28:40 26 4
gpt4 key购买 nike

我目前正在致力于在 Azure DevOps 2020(本地)中为我的公司实现 CI/CD 管道。有一个要求我似乎无法方便地解决:根据发布管道中的用户输入跳过某些任务。

我想要什么:用户手动创建新的版本并决定是否应执行任务组。

代理任务:

 1. Powershell
2. Task Group (conditional)
3. Task Group
4. Powershell

我尝试过的:

  • 根据手动干预任务,通过任务组将任务拆分为多个作业。
    • 不起作用,如果手动干预被拒绝,整个执行就会停止并失败。
  • 将任务分为多个阶段,执行与上述几乎相同的操作,并获得相同的结果。
  • 将任务分为多个阶段会手动触发每个阶段。
    • 不太有用,因为您必须在前面的阶段成功之后,以正确的顺序执行您想要的操作。
  • 在版本创建时设置的变量(true/false)。
    • 如果没有更好的结果,就会使用它,但有点容易出现拼写错误,而且对于使用它的同事来说不太有用。不幸的是,Azure DevOps 似乎不支持发布的下拉列表或复选框变量。 (但适用于构建中的参数)
  • 两个阶段,第一阶段包含任务 1,2,3,4,第二阶段包含任务 1,3,4。
    • 由于重复,我不太想要。

任何帮助将不胜感激!

最佳答案

取决于管道运行的标准。一项建议是两条管道调用同一模板。每个管道可能嵌入了 true/false,以作为参数传递给模板。

模板将包含其中定义的所有任务;但是,有条件的将具有如下条件:

 condition: and(succeeded(), eq('${{ parameters.runExtraStep}}', true)) 

此条件将在任务级别设置。

任何特定的触发器都可以在相应的管道中定义。

这是关于 Azure YAML Templates 的文档让您开始。

关于Azure DevOps 版本跳过任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64245089/

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