Azure Pipelines 中的发布

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

注意

本主题介绍经典发布管道。 如果要使用 YAML 创建管道,请参阅自定义管道

发布是一个构造,用于保存 CI/CD 管道中指定的一组已进行版本控制的工件。 它包括在发布管道中执行所有任务和操作所需的所有信息的快照,例如阶段、任务、策略(如触发器和审批者),以及部署选项。 一个发布管道可以有多个发布,有关每个发布的信息都会在指定的保留期内存储并显示在 Azure Pipelines 中。

部署是为一个阶段运行任务的操作,其中可能包括运行自动化测试、部署生成工件,以及为该阶段指定的任何其他操作。 启动发布后,将根据原始发布管道中定义的设置和策略启动每个部署。 即使只针对一个阶段,每个发布也可以有多个部署。 如果某个阶段的发布部署失败,可以针对该阶段重新部署同一个发布。 若要重新部署发布,只需导航到要部署的版本并选择“部署”。

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

发布、发布管道和部署之间的关系

创建发布管道

发布可通过以下几种方式创建:

  1. 每次有新的生成工件可用时,使用部署触发器创建一个发布。

    持续部署触发器

  2. 使用“管道”>“发布”中的“创建发布”按钮手动创建发布管道。

    从 UI 创建发布管道

  3. 使用 REST API 创建发布定义。

注意

如果你的组织使用防火墙或代理服务器,请确保允许 Azure Artifacts 域 URL 和 IP 地址

问答

问:为什么我的部署未触发?

答:创建发布管道并不一定意味着它会自动/立即启动部署。 以下是发生这种情况的几个原因:

  • 定义的部署触发器强制暂停部署。这可能发生在计划的触发器中,也可能在部署到另一个阶段的操作完成之前在施加延迟时发生。

  • 定义的排队政策规定了执行顺序以及发布排队等待部署的时间。

  • 特定阶段的部署前审批或入口会阻止部署,直到满足所有定义的条件。