Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
与 代理池类似,部署组是一组逻辑目标计算机,每个计算机都安装了部署代理。 部署组通常表示 *开发、 测试或 生产等环境。 部署组中的每个物理或虚拟机都与 Azure Pipelines 通信,以协调部署任务。 部署组不同于 部署作业,这些作业是 YAML 管道中定义的与任务相关的步骤的集合。
部署组提供了一种灵活的方式来管理和监视部署目标。 可以为代理定义安全上下文和运行时环境,为团队成员分配角色和权限,并使用每个服务器的实时日志实时查看部署。 还可以使用标记以特定计算机为目标,使部署更加精确高效。
注意
部署组仅在经典发布管道中可用。
先决条件
产品 | 要求 |
---|---|
Azure DevOps | - 一个 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 DevOps 组织中可用的目标服务器集合。 若要创建或管理部署池,必须具有项目集合管理员权限。
创建新的部署池时,可以在所选项目或组织中所有项目中自动预配相应的部署组。 这些部署组共享与部署池相同的目标服务器。
若要升级部署池中所有服务器上的代理版本,请转到 部署池,选择池旁边的 “更多作 省略号”,然后选择“ 更新目标”。
共享部署组
可以在 Azure DevOps 组织中与其他项目共享部署组。 若要使部署组可用于其他项目,请执行以下步骤:
登录到 Azure DevOps 组织并导航到项目。
选择 管道>部署组。 选择部署组,然后选择“管理”。
在项目列表中,选择要与其共享部署组,然后选择“ 保存”。
保存后,所选项目将看到“ 部署组”下列出的共享部署组。
自动部署到新的目标服务器
可以将环境配置为在将新目标服务器添加到部署组时自动部署上次成功发布:
登录到 Azure DevOps 组织并导航到项目。
选择 管道>发布,然后选择您的发布管道。
选择部署后图标以打开 “部署后条件 ”屏幕,并启用 “自动重新部署”触发器。
在“选择事件”下,选择具有所需标记的新目标可用。
在“选择”操作下,选择“重新部署此环境上最后一次成功部署”。