在一台计算机上安装多个远程代理程序以支持Atlassian Bamboo是否可行?

9
我们公司生产跨平台软件,我们有一个 Bamboo 实例,可以在不同的环境下构建项目(Linux、Windows、OS X)。每个环境都配置了一个虚拟机进行构建。那么是否可能在每个虚拟机上运行多个远程代理程序,以执行不同项目的并发构建?
4个回答

5
是的,这是可能的。请查看Bamboo远程代理安装指南中的“更改远程代理存储其数据的位置”部分。
为使此项工作生效,您需要为在同一计算机上运行的每个远程代理指定不同的位置以存储其数据(否则构建将失败,尝试写入相同的位置)。

1
Bamboo 服务器无法区分同一台机器上的代理程序 - 因此不可能同时运行两个代理程序。这是我从当地 Atlassian 经销商那里得到的答案。因此,我们需要为每个代理程序提供一个单独的虚拟机。 - vrogach

4
是的,可以在Windows和Linux主机上运行多个远程代理。我目前管理Linux主机的远程代理,所以不能对Windows服务远程代理发表评论。
我通过首先为每个代理创建一个文件夹来实现多个远程代理,然后在安装每个代理时,您需要指定每个代理的bamboo.home位置。
在Bamboo主服务器上,您可以重命名远程代理,以便您可以区分正在运行构建作业的代理。

2
我无法对Linux发表评论,但在Windows上是可以的。
如果您将Windows服务名称从默认值“Bamboo Remote Agent”更改为诸如“Bamboo Remote Agent 1”、“Bamboo Remote Agent 2”之类的名称,则可以实现多个代理的运行:
1.使用bin / uninstall-ntservcice进行卸载 2.编辑conf / wrapper.conf以更改服务名称和显示名称 3.使用bin / install-nt-service重新安装
完成这些步骤后,您应该能够成功运行多个代理。

1
我能在同一服务器上创建两个代理。在这种情况下,我实际上希望使用相同的bamboo-home设置,以便任何一个代理都可以构建到相同的位置......但是当我的某些构建需要更长时间时,我会有第二个代理可用于处理那些排队等待的快速构建任务。在bamboo-agent.sh中,我进行了更改:
APP_NAME, APP_LONG_NAME, and REAL_DIR

我没有更改conf/wrapper.conf中的任何内容。在GUI中,我通过在代理能力页面上单击“编辑详细信息”来更新代理名称。

以防万一,我还使bamboo-agent.cfg.xml中的agentUuid标签为空,认为当我启动代理时它会被覆盖。尽管我无法确定这个字段已经用于什么,但我不希望代理使用相同的Uuid启动。

据我所知,这个方法达到了我的预期。我可以从GUI看到两个代理,并同时启动两个构建。就我所知,我不知道这是否被认为是一种黑客方式。


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