Ale*_*ysh 10 virtualization linux ubuntu continuous-integration
我们想为我们的项目设置持续集成 (CI) 服务。CI 服务应该控制项目生命周期的所有方面,包括部署。
也就是说,我们希望在每次迭代时都有一个 CI 代理采用一个干净的系统(特别是 Ubuntu Server),在那里部署我们的项目并运行测试。
我们可能会从头开始自己编写 CI 服务,因为我们的生态系统相当不寻常。问题是:如何为每次 CI 迭代有效地提供全新的系统?
项目部署安装一些 Debian 包,配置几个 nginx 站点,并在系统范围内在特定于实现语言的包管理器 (LuaRocks) 中安装一些包。没有什么比这更具侵入性的了(我相信)。因此,与确保绝对隔离和清洁相比,能够快速设置干净的状态(在现代硬件上在一分钟内,更快——更好)更重要。
我看到了两种方法来做我们需要的事情:
但在这一点上,我没有足够的信息来决定。
你有什么建议?还有其他选择吗?有具体的工具名称吗?
注意:CI 服务将在 Citrix XenServer 来宾中运行。如果价格合理,付费解决方案是可以的。(通常他们在这个领域是不合理的。)远程 CI 解决方案不行。
小智 13
看看詹金斯。它的插件允许您在VMWare或VirtualBox或Amazon/a Eucalyptus 云中的虚拟机中运行构建。对于在云中运行的虚拟机,您可以指定一个 init 脚本,您可以在其中执行安装包等步骤。
看看Chef / Vagrant。不确定它是否足够快,但需要研究一下。
以防万一您不熟悉 Chef,它是一个服务器,旨在允许基于简单代码的服务器供应。我建议看一看其中一个网络广播。 Django Chef 网络广播
Vagrant、veewee、厨师独奏和刀独奏的东西我认为这涵盖了你想做的大部分事情。
Vagrant 博客文章显示使用 Vagrant 快速设置服务器的博客文章。
| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |