有人可以用最简单的术语解释构建代理和发布代理之间的区别吗?这与 Azure DevOps 有关。我从 Microsoft 找到有关构建代理的信息,但我没有找到任何专门针对发布代理的信息。我不是贸易开发人员,所以如果有人能解决这个问题,我将不胜感激。
有人可以用最简单的术语解释构建代理和发布代理之间的区别吗?这与 Azure DevOps 有关。我从 Microsoft 找到有关构建代理的信息,但我没有找到任何专门针对发布代理的信息。我不是贸易开发人员,所以如果有人能解决这个问题,我将不胜感激。
从技术上讲,它们是相同的。即构建或发布使用的代理是在机器上运行的相同代码。但是有 3 种使用模式。
代理池
代理池是一种将代理分组在一起的方式。例如,您可以通过以下方式将代理组合在一起
您的代理越通用,它们的利用率就越高,但您可能不希望有一个大型代理池可以做所有事情。
如果您的部署过程是远程运行的,即代理使用诸如 ansible 或 ms deploy 之类的工具连接到远程服务器,那么您可以使用这些代理来发布您的代码,但是还有其他几种方法可以使用代理来发布软件。
部署组
在经典管道(GUI 创建的发布过程)中,您还可以创建部署组。在这种模式下,您将代理安装在要部署到的机器上,部署组充当将服务器集分组到环境中的一种方式,每个代理负责将代码部署到运行它的服务器。您可以标记部署组中的代理,以便仅在这些代理上运行特定作业。例如,您可能在一个环境中有 5 个服务器、2 个 Web 服务器、2 个应用程序服务器和一个数据库服务器,您可以将代理标记为“web”“app”“db”,然后在发布管道中标记您的作业,这样管道知道在哪里运行每个作业。它还可以并行运行作业,以便同时部署两个 Web 服务器。
环境
在多阶段管道(YAML 管道即代码)中有环境的概念。这可以是一组资源。目前环境支持两种类型的资源。
与部署组环境一样,您可以将代理专门部署到虚拟机,然后使用它使用标签运行特定作业。
在“部署组”或“环境”中使用代理有 3 个主要好处
*环境和 YAML 管道目前处于预览阶段,定价模式可能会在它们全面上市时发生变化