远程代理与本地代理进行持续集成和部署

维旺迪

我们目前正在考虑通过使用Jira和Stash将.NET代码从TFS源代码控制转移到Git。

我们还希望拥有一个良好的持续集成和部署服务器。因此,出于这个原因,我们也在研究Bamboo

所有功能似乎都不错。我唯一不了解的是代理商部分。有两种口味,Local AgentsRemote Agents

我知道它们Local Agents与将安装Bamboo的计算机安装在同一台计算机上。Remote Agents安装在其他机器上。但是我真正不明白的是重点。为什么不简单在本地安装5个左右的代理?您为什么要在远程计算机上执行此操作?

因此,我也在质疑a是否Local Agent可以将我的.NET代码发布到任何其他远程服务器?

可以通过Local Agent将代码发布到远程计算机吗?还是必须在其中使用远程代理?

温克勒

正如在解释这个环节,本地和远程代理之间的主要区别是它们在何处运行:

  • 本地代理与Bamboo服务器在同一台计算机上运行。它们甚至作为同一进程/ JVM的一部分运行。
  • 远程代理几乎可以在任何地方运行。网络甚至云中的专用服务器或VM。远程代理使用消息队列(JMS)与中央Bamboo服务器通信。

为了帮助您确定需要哪个代理,请尝试考虑将要拥有多少个代理-最初,但还要考虑更长的时间。

如果您只打算拥有一个座席,则可以与本地座席联系。如果您希望随着时间的推移不断增加代理的数量,则可能需要计划使用远程代理。

使用远程代理的几个参数是:

  • 灵活性:随着您的成长,您可以根据需要轻松添加更多的远程代理。如果您需要快速启动更多代理,那么弹性云部署确实可以提供帮助。
  • 可伸缩性:如果仅使用本地代理,则它们都将在同一Java虚拟机(JVM)中运行。每个本地代理都会消耗CPU和内存,这意味着您无法无限扩展。使用远程代理,每个代理都有其自己的进程,这将允许更好地扩展代理,而不会在进程大小/内存使用方面达到操作系统限制。
  • 位置:您可以有一台中央Bamboo服务器,然后用它支持多个独立团队,例如,如果您是一家跨国公司。每个团队都可以使用专用的远程代理和专用的配置来运行自己的构建服务器。
  • 故障转移:具有多个远程代理,并将它们与中央Bamboo服务器分开,将使您能够以更简单的方式重新启动代理。如果一切都在中央Bamboo进程中运行,则如果重新启动它,则所有代理也将重新启动。

关于网络问题:当然,您可以从远程代理或本地代理部署到任何其他服务器。您需要在服务器之间建立网络访问,只要有访问权限,就可以自由部署。在大多数情况下,我们使用SSH / SCP / SFTP,但也使用HTTPS通过Web服务(例如Tomcat或JBoss)进行部署。

通常,使用远程代理将拥有更多的自由度和灵活性。缺点是安装/配置稍微复杂一些。如果您打算超越一两个构建代理,通常值得付出努力。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章