4
确保“整洁的系统”持续集成服务的有效途径
我们想为我们的项目设置一个持续集成(CI)服务。CI服务应该控制项目生命周期的各个方面,包括部署。 也就是说,我们希望CI代理在每次迭代时都采用一个干净的系统(特别是Ubuntu Server),在其中部署我们的项目并运行测试。 我们可能会从头开始自己编写CI服务,因为我们的生态系统很不寻常。问题是:如何为每次CI迭代有效地提供干净的平板系统? 项目部署会安装一些Debian软件包,配置多个nginx站点,并在系统范围的特定于实现语言的软件包管理器(LuaRocks)中安装一些软件包。没有比这更令人讨厌的了(我相信)。因此,比起确保绝对的隔离和整洁,能够快速设置干净的平板(在现代硬件上在一分钟内,更快,更好)更为重要。 我看到两种方法来做我们需要做的事情: 要么设立某种监狱(例如lxc,也许)。 或安装一些可以做快照的虚拟机并使用它们。 但是目前我没有足够的信息来决定。 您有什么建议?还有其他选择吗?任何特定的工具名称? 注意:CI服务将在Citrix XenServer guest虚拟机中运行。如果价格合理,付费解决方案还可以。(通常,它们在该字段中不合理。)远程CI解决方案不可行。