在经典发布管道中使用部署组
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
与代理池类似,部署组是一组逻辑目标计算机,每个计算机都安装了部署代理。 部署组可以表示“开发”、“测试”或“生产”等环境。部署组中的每个物理或虚拟机(VM)都与 Azure Pipelines 交互,以协调部署任务。 部署组不同于 部署作业,这些作业是 YAML 管道中定义的与任务相关的步骤的集合。
注意
部署组仅适用于经典发布管道。
通过使用部署组,可以:
- 指定代理的安全上下文和运行时目标。
- 添加用户并向其授予适当的权限,以管理、管理、查看和使用组。
- 在部署发生时查看每个服务器的实时日志,并下载日志以跟踪各个服务器的部署。
- 使用标记将部署限制为特定的目标服务器集。
先决条件
- Azure DevOps 组织和项目。 若要创建组织和项目,请参阅 “创建新组织 ”或 “在 Azure DevOps 中创建项目”。
- 对至少一个 Windows 或 Linux 物理或虚拟机的管理访问权限,以用作部署目标。
创建部署组
从 Azure DevOps 项目中,选择“管道>部署”组。
在“部署组”屏幕上,选择“新建”,或者选择“添加部署组”(如果此部署组是项目中的第一个部署组)。
输入“部署组名称”,然后选择“创建”。
在下一个屏幕上,选择要注册的目标类型的 Windows 或 Linux。 生成注册脚本。
在脚本中选择“ 使用个人访问令牌进行身份验证”,然后选择“ 将脚本复制到剪贴板”。
保存复制的脚本以在部署组中的所有目标计算机上运行。
注册目标服务器
若要在部署组中注册每个目标服务器,请执行以下操作:
使用管理帐户登录到计算机,并运行复制的脚本。 对于 Windows 计算机,请使用提升的 PowerShell 命令提示符。
若要分配标记,以便将部署限制为部署组作业中的某些服务器,请在系统提示输入标记时输入 Y,然后输入标记或标记。
每个标记限制为 256 个字符,不区分大小写,对可以使用的标记数没有限制。
设置目标服务器后,脚本应返回消息 Service vstsagent.{organization-name}.{computer-name} started successfully
。
安装和升级代理
部署组中的每个目标服务器都需要一个部署代理。 为目标服务器生成的注册脚本会安装代理。 或者,可使用以下方法安装代理:
如果目标服务器是 Azure VM,可通过在每个 VM 上安装 Azure Pipelines 代理扩展轻松设置服务器。
可使用发布管道中的 AzureResourceGroupDeploymentV2 任务动态创建和注册部署组。
有关这些方法的详细信息,请参阅为部署组预配代理。
若要将目标服务器上的代理升级到最新版本,而无需重新部署代理,请选择“部署组”页上部署组旁边的“更多操作省略号”,然后选择“更新目标”。 有关详细信息,请参阅 Azure Pipelines 代理。
部署池
部署池是一组可供整个 Azure DevOps 组织使用的目标服务器。 若要创建和更新部署池,需要在 Azure DevOps 组织中拥有 Project Collection 管理员权限。
为组织创建新的部署池时,可以为所选项目或组织中的所有项目自动预配相应的部署组。 这些部署组的目标服务器与部署池具有相同的目标服务器。
可以通过选择部署池中的部署池旁边的“更多操作省略号”并选择“更新目标”来手动触发池中所有服务器的代理版本升级。
监视发布状态
在发布管道运行时,可以查看部署组中每个目标服务器的实时日志。 部署完成后,可以下载每台服务器的日志文件,以检查部署并调试任何问题。
共享部署组
可以与组织中的其他项目共享部署组。 若要为其他项目预配部署组,请执行以下操作:
从 Azure DevOps 项目中,选择“管道>部署”组。
选择部署组,然后选择“管理”。
从列表中选择要共享到的项目,然后选择“ 保存”。
包含的项目现在具有部署组中列出的 共享部署组。
自动部署到新的目标服务器
将新的目标服务器添加到部署组时,可以将环境配置为自动将上次成功发布部署到新目标。
从发布管道定义中,选择部署后图标。
在 “部署后条件 ”屏幕上,启用 “自动重新部署”触发器。
在“选择事件”下,选择具有所需标记的新目标可用。
在“选择”操作下,选择“重新部署此环境上最后一次成功部署”。