定义经典管道

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

Azure Pipelines 提供高度可配置且可管理的管道,用于发布到开发、暂存、QA 和生产等多个阶段。 它还提供在每个特定阶段实施门限和审批的机会。

本教程的内容:

  • 持续部署触发器
  • 添加阶段
  • 添加部署前审批
  • 创建发布和监视部署

先决条件

需要:

  • 至少包含一个阶段的发布管道。 如果你没有这种管道,可以参阅以下任何快速入门和教程来创建一个:

  • 两个独立的目标,将在其中部署应用。 这些目标可以是虚拟机、Web 服务器、本地物理部署组或其他类型的部署目标。 在此示例中,我们将使用 Azure 应用服务网站实例。 如果你也想这样做,则必须选择唯一的名称,但最好在一个实例名称中包含“QA”,在另一个实例名称中包含“生产”,这样就可以轻松地识别实例。 使用 Azure 门户创建新的 Web 应用。

持续部署 (CD) 触发器

启用持续部署触发器会指示管道在每次有新生成可用时自动创建新发布。

  1. 在“Azure Pipelines”中打开“发布”选项卡。选择你的发布管道,然后选择“编辑”。

    编辑发布管道

  2. 在“工件”部分选择“持续部署触发器”图标以打开触发器面板。 确保启用此选项,以便在成功完成每个新的生成后创建新发布。

    持续部署触发器

  3. 在“阶段”部分选择“部署前条件”图标以打开条件面板。 确保部署到此阶段的触发器设置为“发布后”。 这意味着,在从此发布管道创建新发布后,将自动启动部署。

    部署前条件

    还可以设置发布触发器阶段触发器计划部署

添加阶段

在本部分,我们将向发布管道添加两个新阶段:QA 和生产(在本示例中为两个 Azure 应用服务网站)。 这是一种典型的方案,在其中,你首先会部署到测试或暂存服务器,然后再部署到实时或生产服务器。 每个阶段代表一个部署目标。

  1. 在发布管道中选择“管道”选项卡,然后选择现有的阶段。 将阶段名称更改为“生产”。

    在“管道”选项卡中选择一个现有阶段,在“阶段”面板中将名称更改为“生产”

  2. 选择“+ 添加”下拉列表,然后选择“克隆阶段”(仅当已选择现有阶段时,克隆选项才可用)。

    选择“克隆阶段”

    通常,你会在测试和生产阶段使用相同的部署方法,以确保部署的应用具有相同的行为。 克隆现有阶段是确保两个阶段具有相同设置的好办法。 然后只需更改部署目标即可。

  3. 克隆的阶段名称为“生产副本”。 选择它并将名称更改为 QA。

    将阶段名称更改为 QA

  4. 若要重新组织管道中的阶段,请选择“QA”阶段中的“部署前条件”图标,并将触发器设置为“发布后”。 管道关系图将并行显示这两个阶段。

    重新组织阶段

  5. 选择“生产”阶段中的“部署前条件”图标,并将触发器设置为“阶段后”,然后在“阶段”下拉列表中选择“QA”。 管道关系图现在会指示这两个阶段将以正确的顺序执行。

    选择 QA 触发器和阶段

    注意

    可以将部署设置为在前一阶段的部署部分成功时开始。 这意味着,即使特定的非关键任务失败,部署也会继续。 此设置通常在并行部署到不同阶段的分支和联接部署中使用。

  6. 选择“任务”下拉列表,然后选择“QA”阶段。

    依次选择“任务”下拉列表、“QA”阶段

  7. 根据所用的任务更改设置,以便此阶段部署到“QA”目标。 在本示例中,我们将使用“部署 Azure 应用服务”任务,如下所示。

    使用“部署 Azure 应用服务”任务

添加部署前审批

我们之前修改的发布管道将部署到 QA 和生产目标。 如果部署到 QA 目标失败,则不会触发部署到生产目标的操作。 建议始终在部署到生产目标之前验证应用是否在 QA 或测试阶段正常运行。 添加审批可确保在部署到下一阶段之前满足所有条件。 若要向管道添加审批,请执行以下步骤:

  1. 依次选择“管道”选项卡、“部署前条件”图标、“部署前审批者”。

    部署前审批者面板

  2. 在“审批者”文本框中,输入负责审批部署的用户。 另外,建议取消选中“请求发布或部署的用户不应审批该部署”复选框。

    添加部署前审批者

    可根据需要添加任意数量的审批者,包括个人用户和组织组。 还可以通过选择管道关系图中阶段右侧的“用户”图标来设置部署后审批。 有关详细信息,请参阅发布门限和审批

  3. 选择“保存”。

    保存发布管道

创建发布

完成发布管道设置后,便可以开始部署。 为此,我们将手动创建一个新发布。 通常,当有新的生成工件可用时,会自动创建一个发布。 但是,在此场景中,我们将手动创建发布。

  1. 选择“发布”下拉列表,然后选择“创建发布”。

    创建新发布

  2. 输入发布说明,检查是否选择了正确的工件,然后选择“创建”。

    创建新发布面板

  3. 此时会显示一个横幅,指出已创建新发布。 选择发布链接以查看更多详细信息。

    成功创建发布

  4. 发布摘要页将显示部署到每个阶段的状态。

    部署状态

    其他视图(例如发布列表)也会显示一个图标,指示正在等待审批。 指向该图标时,会显示一个包含阶段名称和更多详细信息的弹出窗口。 管理员可以凭此轻松查看哪些发布正在等待审批,以及所有发布的总体进度。

    发布列表视图

  5. 选择“pending_approval”图标以打开审批窗口面板。 输入简短注释,然后选择“审批”。

    审批部署

注意

可以安排在以后的某个日期进行部署,例如在非高峰时段。 还可以将审批重新分配给其他用户。 发布管理员可以访问和替代所有审批决定。

监视和跟踪部署

部署日志可帮助你监视和调试应用程序的发布。 若要检查部署日志,请执行以下步骤:

  1. 在发布摘要中,将鼠标悬停在某个阶段上,然后选择“日志”。

    部署日志

    在部署期间,你仍可访问日志页以查看每个任务的实时日志。

  2. 选择任一任务可查看该特定任务的日志。 这样就可以更轻松地跟踪和调试部署问题。 还可以下载单个任务日志,或下载包含所有日志文件的 zip 文件。

    下载日志

  3. 如果需要使用其他信息来调试部署,可以在调试模式下运行发布

后续步骤