我想设置下面的工作流程。Vagrant for development and CI
- 每个项目都有版本控制下的Vagrant文件和为每个配置更改构建虚拟机的Jenkins作业。该虚拟机旨在用于持续集成和开发。
- 开发人员加入一个项目。他从Jenkins那里抓取了相应的虚拟机,这些虚拟机都是安装和配置好的。
- 他运行他下载的虚拟机。他的所有偏好例如。 .gitconfig .vimrc等已经在该虚拟机的主目录中,即,他使用虚拟机进行编码,而不仅仅是运行和测试。
- 当詹金斯下的项目的构建工作检测库的变化,它抓住了虚拟机从同一作业中使用的开发制造品和运行构建
这将允许新的开发者做好准备在完全相同的环境中,持续集成服务器可以在任何地点使用和部署代码,这要归功于虚拟机。
我想我可能会尝试这与流浪和厨师,但我不知道他们真的是要这样使用。有什么想法吗?
我不明白你为什么需要从开发人员启动虚拟机?我的意思是所有虚拟机应该是相同的 - 有一个詹金斯流浪者插件,但你似乎添加了一些更多的逻辑比我需要从我的角度来看 –
因此,每个开发人员都有自己的副本,具有相同的确切环境。例如,他们可以离线工作。 – Deimos
明确,但所有的虚拟机都是一样的,它使用流浪的点,你从同一个盒子开始,并应用相同的供应,所以詹金斯会从同一个流浪文件启动一个虚拟机,他们将全部相同 –