背景:
我是一名 SW 开发人员,在配置持续集成解决方案方面有一些经验,但我不太熟悉某些持续集成策略的优缺点,并且想就两种服务器管理策略的优点和挑战提供建议。
题:
我们有 3 个独立的、复杂的 Android 应用程序,我正在为其创建持续集成服务器。我已经成功创建了一个运行 Windows Server 2008 的原型虚拟机,它成功地编译了代码、启动了一个模拟器并运行了 android 单元测试。另外,我还能够运行我们希望在此代码上运行的静态分析,以向开发人员提供反馈。
在之前使用 CruiseControl.NET 而不是 jenkins 的配置中,我们成功地维护了 3 个独立的虚拟机,所有虚拟机都具有独立的虚拟化硬件。这种设置的好处是划分——一个项目可以改变他们的构建服务器,而另一个项目不受影响。
但是,转移到 Jenkins,我注意到它支持主/从节点,这可以让我配置一个 Jenkins 主实例与多个项目,然后配置多个从节点,据我了解,这些从节点将执行任何 Jenkins 任务- 编译、单元测试、静态分析并将此信息传递回主服务器。这种设置的好处似乎是:
这种情况的挑战似乎是:
是否有任何其他直接的好处或挑战我忘记了,或者有设置 jenkins 经验的人对哪种方法更合适有意见?