预配部署组

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

部署组是一个部署目标计算机逻辑集,其中每台计算机上都安装了代理。 部署组表示物理环境,例如“开发”、“测试”或“生产”环境。 实际上,部署组就是代理的另一个分组,与代理池非常类似。

部署组仅适用于经典发布管道,不同于部署作业。 部署作业是在 YAML 文件中定义的部署相关步骤的集合,用于完成特定的任务。

利用部署组,你可以:

  • 指定代理的安全性上下文和运行时目标。 当你创建部署组时,你将添加用户,并向他们授予管理、查看和使用组的适当权限。

  • 在进行部署时查看每个服务器的实时日志,并下载所有服务器的日志,以跟踪每台计算机的部署。

  • 使用计算机标记将部署限制到特定的一组目标服务器。

创建部署组

部署组是一组包含部署代理的虚拟机。 部署组的每个 VM 都与 Azure Pipelines 进行交互,以协调部署任务。

  1. 从项目中选择“管道”>“部署组”。

    删除部署组

  2. 选择“添加部署组”。

    添加新的部署组

  3. 输入“部署组名称”,然后选择“创建”。 将生成注册脚本。 选择“要注册的目标类型”,然后选择“使用脚本中的个人访问令牌进行身份验证”。 最后,选择“将脚本复制到剪贴板”。

    创建部署组 - 生成的脚本

  4. 登录到每个目标计算机,并从提升的 PowerShell 命令提示符运行该脚本,以将其注册为目标服务器。 当系统提示输入代理的标记时,请按 Y 并输入将用于筛选服务器子集的一个或多个标记。

    注册部署组服务器

设置目标服务器后,该脚本应返回以下消息:Service vstsagent.{organization-name}.{computer-name} started successfully

通过你分配给目标服务器的标记,可以将部署限制于部署组作业中的特定服务器。 标记限于 256 个字符,但可以使用的标记数没有限制。

注意

部署池是组织可用(组织范围)的一组目标服务器。 为组织中的项目创建新的部署池时,会自动为每个项目预配相应的部署组。 部署组将具有与部署池相同的目标服务器。 可以通过将鼠标悬停在“部署池”中的省略号 (...) 并选择“更新目标”来手动触发目标服务器的代理版本升级。 有关更多详细信息,请参阅代理版本和升级

屏幕截图显示如何更新部署池中的目标。

在部署组上设置代理

部署组中的每个目标服务器都需要一个部署代理。 可以通过三种不同的方式在目标服务器上安装代理:

通过在部署组页面上选择“升级目标”命令,可将目标服务器上的代理强制升级到最新版本,而无需重新部署它们。

屏幕截图显示如何更新部署组中的目标。

监视部署组的发布状态

当执行发布管道时,可以查看部署组中的每个目标服务器的实时日志。 部署完成后,可下载每个服务器的日志文件来检查部署和调试任何问题。

部署组版本日志

与其他项目共享部署组

可以与同一组织中的其他项目共享部署组。 按照以下步骤为其他项目预配部署组:

  1. 从项目中选择“管道”>“部署组”。

  2. 选择部署组,然后选择“管理”。

    管理部署组

  3. 从列表中选择一个项目,然后选择“保存”。

    与项目共享部署组

  4. 你现在会注意到,你刚刚添加的项目中有一个新的部署组。

    共享的新部署组

自动部署到新的目标服务器

将新目标服务器添加到部署组时,可配置环境,使其自动将最后一个成功发布部署到新目标。

从发布管道定义,选择部署后图标,然后启用“自动重新部署触发器”。 选择事件和操作,如下所示。

自动部署到新的目标服务器