Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
拉取请求提供了一种在将代码更改合并到代码库之前查看代码更改的有效方法。 但是,这些更改可能会带来一些问题,这些问题在无需生成应用程序并将其部署到特定环境的情况下就可能很棘手。 拉取请求触发器使你能够定义部署前必须满足的一组条件。 本文介绍如何使用 Azure Repos 和 GitHub 存储库设置拉取请求触发器,以使用经典发布管道部署管道项目。
先决条件
| 产品 | 要求 |
|---|---|
| Azure DevOps | - Azure DevOps 项目。 - 托管在 Azure Repos 或 GitHub 上的源代码。 如果没有存储库,可以使用 pipelines-dotnet-core 示例应用创建一个。 - 存储库的工作 管道 。 - 经典发布管道。 如果没有, 请设置经典发布管道。 |
拉取请求部署
拉取请求触发器有助于改善代码质量,让用户更自信地发布,并在开发周期的早期发现任何问题。
设置拉取请求部署是一个两个步骤,首先必须设置拉取请求触发器,然后为发布管道设置分支策略 (Azure Repos) 或状态检查 (GitHub)。
1.启用拉取请求触发器
启用拉取请求触发器时,每当拉取请求工作流中提供新项目时,就会创建新版本:
登录到 Azure DevOps 组织,然后导航到项目。
选择 “管道>发布” ,然后选择发布管道定义。
在 “项目 ”部分中,选择 “持续部署触发器 ”图标。
切换 拉取请求触发器 设置以启用它。
从下拉菜单中选择“目标分支”。
若要将应用程序部署到特定阶段,请显式选择加入该阶段。 “ 阶段 ”部分列出了为拉取请求部署启用的阶段。
若要为阶段启用拉取请求部署,请执行以下作:
- 选择阶段 的“预部署条件 ”图标。
- 在发布后导航到>。
- 切换 拉取请求部署 设置以启用它。
重要
不建议为生产阶段启用自动拉取请求部署。
2. 设置分支策略
可以使用分支策略来实现在合并拉取请求之前必须满足的条件列表。
登录到 Azure DevOps 组织,然后导航到项目。
选择 Repos>分支 以访问存储库的分支列表。
选择相应分支
...的上下文菜单,然后选择“分支策略”。
选择“添加状态策略”,然后从下拉菜单中选择要检查的状态。 选择与发布定义对应的状态,然后选择“保存”。
重要
发布定义必须至少运行一次,并启用拉取请求触发器才能查看状态列表。 有关更多详细信息,请参阅为外部服务配置分支策略。
添加状态策略后,除非拉取请求具有
succeeded状态,否则用户将无法将更改合并到目标分支。
可以在“拉取请求概述”页上检查策略的状态。 根据设置,发布状态将显示在 “必需”、“ 可选”或 “状态” 部分下。 每次触发管道时,状态都会更新。