通过


经典发布管道

Azure DevOps 服务 |Azure DevOps Server |Azure DevOps Server 2022

经典发布管道可帮助你以安全可靠的方式将应用程序部署到多个环境。 使用经典发布管道,可以自动执行测试和部署、定义灵活的部署策略、添加审批入口以及跨阶段管理部署。

先决条件

产品 要求
Azure DevOps - Azure DevOps组织
- Azure DevOps项目

发布管道的工作原理

对于每个部署,Azure Pipelines运行以下步骤序列:

  1. 部署前审批

    触发部署后,Azure Pipelines检查阶段是否需要预部署审批。 如果需要审批,它会向配置的审批者发送通知,并在继续之前等待审批。

  2. 将部署作业加入队列

    Azure Pipelines对部署作业进行排队,并将其安排在可用的 Agent

  3. 选择代理

    可用的代理程序会获取部署作业。 可以将发布管道配置为在运行时动态选择适当的代理。

  4. 下载项目

    代理将下载与发布关联的所有项目。

  5. 运行部署任务

    代理执行在该阶段的部署作业中定义的任务。

  6. 生成部署日志

    代理为每个部署步骤生成详细的日志,并将其发送回Azure Pipelines。

  7. 部署后审批

    部署到阶段完成后,Azure Pipelines检查是否需要部署后审批。 获得批准或无需审批后,管道将进入下一阶段。

    发布管道示意图,其中显示了部署前审批、队列作业、代理选择、下载项目、运行任务、生成日志和部署后审批的阶段。

部署模型

Azure发布管道支持各种 artifact 源,包括 Jenkins、Azure Artifacts 和 Team City。 这种灵活性允许你设计跨多个生成系统和环境的部署模型。 以下示例演示了使用Azure发布管道的部署模型。

在此模型中,发布管道使用由两个单独的生成管道生成的构建工件。 应用程序首先部署到开发阶段,然后部署到两个并行 QA 阶段。 在两个 QA 阶段中成功验证应用程序后,应用程序将部署到 Prod 通道 1 ,然后部署到 Prod 通道 2

每个生产环表示部署到不同地理位置的同一 Web 应用程序的多个实例。 此基于环的方法可实现逐步推出、受控验证,并在生产部署期间降低风险。

发布管道的屏幕截图,其中两个构建工件通过开发、QA 和两个生产环节进行部署。

发布与部署

发布是一个构造,用于保存 CI/CD 管道中指定的版本控制的项目集。 它包括执行发布管道中所需的所有信息的快照,涵盖所有阶段、任务、操作、策略以及部署选项。

单个发布管道可以生成多个版本。 Azure Pipelines存储有关每个版本的信息,并在指定的保留期内显示它。

部署是执行在发布中为单个阶段定义的任务。 部署可以包括运行自动测试、部署生成项目以及执行为该阶段配置的任何其他任务等作。 创建发布时,Azure Pipelines根据发布管道中定义的策略和设置启动部署。 可以将发布多次部署到同一阶段。 如果某个阶段的部署失败,可以通过从发布中选择“部署”将同一版本重新部署到该阶段。

下图显示了发布管道、发布和部署之间的关系。

此图显示了跨阶段发布管道、发布和部署之间的关系。