You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用构建验证后,提交PR时Azure DevOps的CD步骤是否会运行?

关于Azure DevOps PR构建验证执行CD步骤的问题
  • 默认行为:如果直接把包含CD步骤的管道关联到PR构建验证,PR触发时会执行整个管道的所有步骤,包括停止IIS、部署代码这类操作,会带来误部署的风险。

  • 解决办法:

    1. 拆分独立管道:把CI和CD拆成两个管道。CI管道只保留构建、测试等PR验证需要的步骤,关联到PR构建验证;CD管道单独负责部署操作,在PR合并后再触发。
    2. 给CD步骤加执行条件:在现有管道里,给停止IIS、部署代码这类CD步骤添加条件判断,只有非PR触发的构建才执行这些步骤。
      示例YAML配置:
      steps:
        - task: IISWebAppManagementOnMachineGroup@0
          displayName: '停止IIS'
          condition: ne(variables['Build.Reason'], 'PullRequest')
        - task: AzureRmWebAppDeployment@4
          displayName: '部署代码'
          condition: ne(variables['Build.Reason'], 'PullRequest')
      
      当PR触发构建时,Build.Reason的值为PullRequest,CD步骤会自动跳过,只运行CI相关步骤。
  • 额外提醒:PR验证管道建议只保留构建、单元测试、代码扫描这类不影响生产环境的操作,彻底避免误操作的可能。

内容的提问来源于stack exchange,提问作者noumanmalik56

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:30:55