据我所知,在 YAML 管道中,您可以选择“要运行的阶段”,因此基本上允许出于任何原因完全跳过阶段。但是,我在 GUI 发布管道中没有看到相同的功能。我只看到选项 'Manual Only' - 在我有 dev > Test > Prod 并且我想跳过测试但保持发布管道结构完整的情况下,“仅手动”是否可用?这方面的最佳做法是什么?到目前为止,我只能看到在 YAML 中同时构建和发布的选项。
谢谢。
答案 0 :(得分:2)
确实有很多方法可以解决这个问题,但我要指出的主要方法是:
您认为手动部署可以在这里使用各个阶段和分支工作是正确的。 (见下面的截图链接)
Release Pipeline with manual deployment paths
在这种情况下,只要有新版本就部署 DEV,然后您可以手动指定您希望其余部署的路径(直接到 Prod,或测试到 Prod)。
这可能比手动部署更简洁一些,并且具有能够指定特定用户或组的优点。 (链接到下面的屏幕截图)
Release Pipeline with Pre-Approval condition
经过测试后,我确认您能够根据构建管道中指定的标记触发不同的版本。我相信你可以对拉取请求做同样的事情
基于此标记,它可以通过持续部署过滤器流程确定要运行哪个发布管道。
下面的屏幕截图和步骤是完成这项工作所需的步骤:
Write-Host "##vso[build.addbuildtag]$env:ProdOnly_TestThenProd"
请参阅此 gif 以供参考:Build Pipeline我喜欢这个 #3 选项,因为它允许您拥有 CI/CD 周期,而且如果您需要运行一次性管道,可能直接发布到 Prod 或其他某个阶段,那么它为您提供了这样做的灵活性没有大量的手工工作。希望这能回答您的问题。
答案 1 :(得分:2)
如果您使用具有多阶段的 yaml 管道,“要运行的阶段”功能允许您跳过管道中的几个阶段,如下所述:Skipping stages in a YAML pipeline。
如果您想在经典发布管道中实现此功能,请按照以下步骤操作。