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 地址

问答

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

答:创建发布管道不会自动启动部署。 下面是可能发生这种情况的几个原因:

  • 部署触发器:定义的部署触发器可能会导致部署暂停。 这可能发生在计划触发器中,或者在部署到另一个阶段之前出现延迟的情况。

  • 队列策略:这些策略决定了执行顺序,以及发布排队进行部署的时间。

  • 预部署审批或入口:特定阶段可能需要预先部署审批或入口,防止部署,直到满足所有定义的条件。