Azure DevOps(VSTS)中代理池和部署池的区别

10

我正在为我们的组织设置Azure DevOps,虽然我已经使一些东西在某种程度上运作,但我仍然不理解一些概念。

我已经设置了一个部署池(组织设置>部署池),并使用脚本在我的开发、测试和生产服务器上安装和配置代理,成功地能够向它们部署代码。

目前,我已经利用Azure托管选项构建了我的项目,但我真的很想使用本地托管选项。但是,当查看代理池(组织设置>代理池)时,我只能看到我的生产服务器,无法将其用于构建。我单击“下载代理”按钮,但它会下载我在部署池阶段已经设置好的代理,使用相同的PowerShell命令.config.cmd命令

据我所知,“代理池”中的代理与“部署池”中的代理没有区别,但我显然错过了什么,因为我不能在代理池中看到代理。

有人能帮我理解可能遗漏的内容以及为什么有两种完全不同的下载代理的方式吗?

非常感谢!

1个回答

9
部署池是用于部署组的特殊代理配置,专门用于发布流水线。它们在常规代理之外为您的发布流水线提供了一些额外选项。

部署组:

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

  • 允许您在部署过程中查看每个服务器的实时日志,并下载所有服务器的日志,以跟踪您的部署到单个机器。

  • 使您能够使用机器标记来限制部署到特定集合的目标服务器

它利用相同的流水线代理,但您只是指定了不同的初始化配置。如果您导航到代理池页面,那里有一个下载链接,其中包含设置代理的配置,您可以在构建流水线或在使用代理阶段而不是部署组阶段的发布流水线中利用它。

谢谢Matt,这有助于解释情况。这是否意味着我需要再次下载代理程序并在服务器上设置它作为构建代理程序?这会与我的现有部署代理程序产生任何冲突吗? - Nick
3
您可以在服务器上运行多个代理,因此不应影响部署组。实际上,您甚至不需要运行它们提供的命令,只要将代理解压缩到一个文件夹中,并运行.\config并指定值即可。如果您希望在一个服务器上拥有多个代理,则必须为它们分配不同的代理名称,因此它们提供的默认安装命令将无法工作,因为它假定代理名称是服务器名称。 - Matt
哎呀,使用REST API似乎无法显示部署池... - David V. Corbin
1
@DavidV.Corbin 这是针对部署组的不同 API 集合。 - Matt
@Matt -- 我不是在问部署组,我是在问部署池。我需要维护这些池(而不是它们上面的组)。 - David V. Corbin
1
你很幸运,这也有一个API - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接