创建多阶段 Classic 发布管道

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Pipelines使开发人员能够使用 YAML 或经典管道跨多个环境部署其应用程序。 本教程逐步讲解如何为 ASP.NET Core Web 应用创建多阶段经典发布管道,包括如何设置持续部署触发器、添加阶段、配置部署前审批以及创建和监视发布。

先决条件

产品 Requirements
Azure DevOps - Azure DevOps 组织
- Azure DevOps 项目
- 包含至少一个阶段的经典发布管道。 如果还没有,请创建经典发布
- 权限:
    - 若要授予对项目中所有管道的访问权限,你必须是项目管理员组的成员。

设置持续部署触发器

启用持续部署触发器时,每当新的管道项目可用时,它都会自动创建新版本。

  1. 登录到Azure DevOps,然后转到项目。

  2. 选择 Azure Pipelines>发布,选择发布管道,然后选择编辑

  3. 在“ 项目 ”部分中,选择 “连续部署触发器 ”图标以打开触发器面板,然后打开它。

  4. 在第一个阶段下,选择 “预部署条件 ”图标,然后验证部署触发器是否已设置为 “发布后”。 每当创建新版本时,此设置都会自动触发将其部署到该阶段。

添加阶段

添加阶段,以对发布流程中的各个环境进行建模,并控制部署何时从一个阶段推进到下一个阶段。

  1. 登录到Azure DevOps,然后转到项目。

  2. 选择 Azure Pipelines>发布,选择发布管道,然后选择编辑

  3. 选择“”,然后添加“>新阶段”,以创建新阶段。

  4. 在新阶段中,选择 “预部署条件 ”图标。 将触发器设置为 “后”阶段,然后从下拉菜单中选择原始阶段,以便此阶段在上一阶段完成后运行。

    显示如何在经典发布管道中设置部署前条件的屏幕截图。

  5. 打开 “任务” 下拉菜单,然后选择要配置的阶段。 更新该阶段的任务设置,以便部署到正确的目标环境。 在此示例中,“部署Azure 应用服务”任务配置为部署到Azure 应用服务,如下图所示。

    显示如何在经典发布管道中设置阶段任务的屏幕截图。

添加部署前审批

使用部署前审批,要求指定的审阅者先批准某个阶段,然后发布流程才能继续。 此流程可帮助你控制不同环境之间的推进,并确认该阶段已准备就绪,可以进行部署。

  1. 登录到Azure DevOps,然后转到项目。

  2. 选择 Azure Pipelines>发布,选择发布管道,然后选择编辑

  3. “阶段”中,为需要审批的阶段选择 “预部署条件 ”图标,然后启用 预部署审批

  4. “审批者 ”框中,输入应批准部署的用户。 如果要允许请求发布或部署的人员批准它,请清除 请求发布或部署的用户不应批准它

  5. 选择 “保存” 以应用审批设置。

    显示如何在经典发布管道添加预部署审批者的屏幕截图。

创建发布版本

配置好阶段和审批后,创建一个发布版本以启动部署流程。 尽管在新的生成工件可用时通常会自动创建发布,但本示例演示了如何手动创建发布,以便你可以检查配置并监控各个阶段的运行情况。

  1. 登录到Azure DevOps,然后转到项目。

  2. 选择 Azure Pipelines>发布,选择发布管道,然后选择编辑

  3. 选择“ 发布 ”下拉菜单,然后选择“ 创建发布”。

  4. 输入发布说明,确认已为部署选择正确的构件版本,然后选择创建

  5. 创建发布后,将显示一个横幅,其中包含指向新版本的链接。 选择链接以打开发布摘要,可在其中跟踪每个阶段的部署状态。

  6. 如果配置了部署前审批,则分配的审批者会收到审批请求,然后部署才能继续进入下一阶段。 若要批准部署,可以添加简短的注释,然后选择“ 批准”。

    显示如何在经典发布管道中批准部署请求的屏幕截图。

注意

发布管理员可以在必要时查看并覆盖审批决定,例如当审批人无法联系或部署必须立即进行时。

监视和跟踪部署

发布开始后,使用部署日志跟踪各个阶段的进度、检查各个任务以及排查故障或意外行为。 发布摘要提供阶段级视图,日志提供验证和调试所需的详细任务输出。

  1. 在发布摘要中,将鼠标悬停在某个阶段上,然后选择“日志”。 还可以在部署仍在运行时打开日志,以便监视每个任务的实时输出。

  2. 选择一个任务以查看其详细日志。 如果需要脱机查看输出或与他人共享,可以下载单个任务的日志或下载包含发布所有日志的 .zip 文件。

  3. 如果标准日志未提供足够的详细信息, 请在调试模式下运行发布 以捕获其他诊断信息。

    显示经典发布管道中的部署日志的屏幕截图。