如何管理多个分布式构建群集

时间:2016-10-21 19:24:51

标签: jenkins build distributed-system

我有多个重型应用程序,它们相互依赖。

  • 应用程序A,ip 10.0.0.1
  • 应用程序B,ip 10.0.0.2

应用程序太胖了,无法在同一台机器上执行, 所以我最终拥有2台机器,构建,执行,测试这些应用程序。

对于相互交谈的应用程序 - 他们的配置中有他们的ips。

现在为了在每次提交后运行测试,我希望能够启动多对机器,运行应用程序A,B。

问题:
是否有一些工具可以管理Jenkins中的多个相关机器对?我想在Jenkins的某个地方看到依赖的机器对,他们的IP。成对启动机器。为了交换配置和更新这些IP,我可能会采取 "傀儡"或"厨师"。

1 个答案:

答案 0 :(得分:0)

假设你只想在测试盒上运行Puppet,Chef和Ansible的应用程序是过度的。使用fabric python模块或者如果你喜欢ruby mina或capistrano http://docs.fabfile.org/en/1.13/usage/execution.html。 该脚本将

@hosts("x.x.x.x")    
def app1(): 
    run("startapp&")
@hosts("x.x.x.x")
def app2():
    run("startapp2&")

`

然后让jenkins执行fab app1 app2 当您拥有需要重复构建的更复杂的基础架构时,应该使用配置管理工具,如果您犯了错误,它也是基础架构上的一种文档。它们不应该用于在不同节点上运行命令。如果您使用Chef或Puppet,则尤其如此。