【发布时间】:2020-06-11 14:04:50
【问题描述】:
说实话,我很难理解这一点。 目前我的实验室项目如下:
PR to master -> 触发 Pre-Build Pipeline 作为合并代码的条件 ->
合并时基础设施管道仅在我的基础设施文件夹发生任何更改时才运行 ->
在合并时,我想运行我的部署管道以将我的 Web 应用程序部署到 Azure。
有问题的管道做他们应该做的事情,即
预构建构建、发布工件、运行单元测试、验证 ARM 模板。
基础设施管道为我的网络应用部署必要的基础设施,例如资源组、应用计划、应用服务、密钥保管库。
Deploy Pipe 下载预部署中生成的工件并部署到阶段槽并将其交换到生产槽。
我似乎无法开始工作的是通过依赖项链接的管道,如果 master 中的基础设施和 Web 应用程序代码都发生更改,我希望基础设施管道首先运行 并且只有在成功时才部署管道。
如果我合并仅应用代码,我希望仅部署管道运行,无论基础设施管道是否运行。
如果我合并仅基础架构代码,我希望仅运行基础架构管道。
如果我合并应用程序和基础架构代码,我希望基础架构和部署管道按特定顺序运行。
我觉得这应该不难完成,但是我花了太多时间试图解决这个问题,但没有成功,有人能帮忙吗? :)
编辑:
嘿抱歉@HughLin-MSFT 一直在尝试解决这个问题,因为我们试图避免左右运行脚本。 :)
我看到你在即将发布的版本中计划了构建队列,所以现在我想我们可能不得不等待。
如果我要合并我的部署和基础设施管道,我可以使用:
trigger:
branches:
include:
- master
paths:
include:
- Infrastructure/*
在阶段级别并以某种方式跳过一个阶段? 看到多篇文章提到“如果跳过则继续”,但找不到有关如何实际跳过某个阶段的任何信息。
【问题讨论】:
-
好几天没有收到您的回复,能否分享一下您对此问题的最新信息?如果您有任何疑虑,请随时在此处分享。
-
@HughLin-MSFT 已添加到我的问题中:)
-
At stage level and somehow skip a stage instead?对于这个问题,运行pipeline的时候可以选择which stages to run。 -
@HughLin-MSFT 我认为这在代码中还不可用?我的意思是像为 PR 的 Build 验证添加一个 Build policy? :)
-
我在更新中给出一个粗略的想法,请查看。另外,我不清楚构建策略与这个问题有什么关系。
标签: azure-devops azure-pipelines