使用经典发布管道部署拉取请求工件

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

拉取请求提供了一种有效的方法,可用于在代码更改合并到代码库之前查看代码更改。 但是,如果不生成应用程序并将其部署到特定环境,这些更改可能会引入难以找到的问题。 借助拉取请求触发器,使你能够设置一组条件,必须满足这些条件才会部署代码。 本文介绍如何使用 Azure Repos 和 GitHub 设置拉取请求触发器来部署生成工件。

先决条件

拉取请求部署

使用拉取请求触发器时,每次用户为指定分支引发新拉取请求时,都会自动触发发布以开始部署到指定环境。 然后,部署状态将显示在拉取请求页上。 拉取请求触发器有助于改善代码质量,让用户更自信地发布,并在开发周期的早期发现任何问题。

设置拉取请求部署是一个两个步骤,首先必须设置拉取请求触发器,然后为发布管道设置分支策略 (Azure Repos) 或状态检查 (GitHub)。

创建拉取请求触发器

每次有新的生成工件可用时,拉取请求触发器都会创建一个发布。

  1. 导航到 Azure DevOps 项目,选择“管道”>“发布”,然后选择发布管道。

  2. 在“工件”部分选择“持续部署触发器”图标。

    显示如何访问持续部署触发器设置的屏幕截图。

  3. 选择切换按钮以启用“拉取请求触发器”。

    显示如何启用拉取请求触发器的屏幕截图。

  4. 从下拉菜单中选择“目标分支”。

    显示如何选择目标分支的屏幕截图。

  5. 若要将应用程序部署到特定阶段,需要显式选择加入该阶段。 “阶段”部分显示了已经为拉取请求部署启用的阶段。

    显示为拉取请求部署启用的阶段列表的屏幕截图。

    若要选择加入某个阶段进行拉取请求部署,请选择特定阶段的“预部署条件”图标,然后选择“触发器”>“发布后”。 最后,选择“拉取请求部署”切换按钮以启用。

    显示如何为特定阶段启用拉取请求部署的屏幕截图。

重要

不建议为生产阶段启用自动拉取请求部署。

为 Azure Repos 设置分支策略

可以使用分支策略来实施一个条件列表,必须满足这些条件才能合并拉取请求。

  1. 导航到项目,然后选择“存储库”>“分支”以访问存储库的分支列表。

    显示如何在 Azure Repos 中导航到分支的屏幕截图。

  2. 选择相应分支 ... 的上下文菜单,然后选择“分支策略”。

    显示如何访问特定分支的分支策略的屏幕截图。

  3. 选择“添加状态策略”,然后从下拉菜单中选择要检查的状态。 选择与发布定义对应的状态,然后选择“保存”。

    显示如何添加状态策略的屏幕截图。

    注意

    发布定义应至少运行一次,同时启用拉取请求触发器,以获取状态列表。 有关更多详细信息,请参阅为外部服务配置分支策略

  4. 添加新的状态策略后,在没有将“成功”状态发布到拉取请求的情况下,用户将无法合并对目标分支的任何更改。

    显示状态策略列表和已启用拉取请求部署策略的屏幕截图。

  5. 可以从拉取请求的“概述”页查看策略的状态。 根据策略设置,可以在“必需”、“可选”或“状态”部分下查看已显示的发布状态。 每次触发管道时,发布状态都会更新。

    显示拉取请求策略状态的屏幕截图。

为 GitHub 存储库设置状态检查

通过为 GitHub 存储库启用状态检查,管理员可以选择必须满足哪些条件才能将拉取请求合并到目标分支。

注意

只有在发布管道运行了至少一次且拉取请求部署条件已启用后,状态检查才会发布到拉取请求上。 有关更多详细信息,请参阅分支保护规则

显示如何启用状态检查的屏幕截图。

可以在“对话”选项卡下的拉取请求中查看状态检查。

显示拉取请求状态检查的屏幕截图。