使用经典发布管道部署拉取请求工件
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
拉取请求提供了一种有效的方法,可用于在代码更改合并到代码库之前查看代码更改。 但是,如果不生成应用程序并将其部署到特定环境,这些更改可能会引入难以找到的问题。 借助拉取请求触发器,使你能够设置一组条件,必须满足这些条件才会部署代码。 本文介绍如何使用 Azure Repos 和 GitHub 设置拉取请求触发器来部署生成工件。
先决条件
- 托管在 Azure Repos 或 GitHub 上的源代码。 使用 pipelines-dotnet-core 示例应用并创建存储库(如果还没有)。
- 存储库的有效生成管道。
- 经典发布管道。 如果还没有经典发布管道,请设置一个。
拉取请求部署
使用拉取请求触发器时,每次用户为指定分支引发新拉取请求时,都会自动触发发布以开始部署到指定环境。 然后,部署状态将显示在拉取请求页上。 拉取请求触发器有助于改善代码质量,让用户更自信地发布,并在开发周期的早期发现任何问题。
设置拉取请求部署是一个两个步骤,首先必须设置拉取请求触发器,然后为发布管道设置分支策略 (Azure Repos) 或状态检查 (GitHub)。
创建拉取请求触发器
每次有新的生成工件可用时,拉取请求触发器都会创建一个发布。
导航到 Azure DevOps 项目,选择“管道”>“发布”,然后选择发布管道。
在“工件”部分选择“持续部署触发器”图标。
选择切换按钮以启用“拉取请求触发器”。
从下拉菜单中选择“目标分支”。
若要将应用程序部署到特定阶段,需要显式选择加入该阶段。 “阶段”部分显示了已经为拉取请求部署启用的阶段。
若要选择加入某个阶段进行拉取请求部署,请选择特定阶段的“预部署条件”图标,然后选择“触发器”>“发布后”。 最后,选择“拉取请求部署”切换按钮以启用。
重要
不建议为生产阶段启用自动拉取请求部署。
为 Azure Repos 设置分支策略
可以使用分支策略来实施一个条件列表,必须满足这些条件才能合并拉取请求。
导航到项目,然后选择“存储库”>“分支”以访问存储库的分支列表。
选择相应分支
...
的上下文菜单,然后选择“分支策略”。选择“添加状态策略”,然后从下拉菜单中选择要检查的状态。 选择与发布定义对应的状态,然后选择“保存”。
注意
发布定义应至少运行一次,同时启用拉取请求触发器,以获取状态列表。 有关更多详细信息,请参阅为外部服务配置分支策略。
添加新的状态策略后,在没有将“成功”状态发布到拉取请求的情况下,用户将无法合并对目标分支的任何更改。
可以从拉取请求的“概述”页查看策略的状态。 根据策略设置,可以在“必需”、“可选”或“状态”部分下查看已显示的发布状态。 每次触发管道时,发布状态都会更新。
为 GitHub 存储库设置状态检查
通过为 GitHub 存储库启用状态检查,管理员可以选择必须满足哪些条件才能将拉取请求合并到目标分支。
注意
只有在发布管道运行了至少一次且拉取请求部署条件已启用后,状态检查才会发布到拉取请求上。 有关更多详细信息,请参阅分支保护规则。
可以在“对话”选项卡下的拉取请求中查看状态检查。