我在一家小型软件开发公司工作,大约 30 名开发人员。我们开发了一个基于 Java 的 Web 应用程序,它使用在 CentOS 服务器上运行的 JDK、Apache Tomcat、MySQL 和 Solr。大多数开发人员使用 Windows 笔记本电脑,有些使用 Mac。他们使用 VirtualBox 在笔记本电脑上的虚拟机中运行生产服务器的“副本”。他们在主机操作系统中使用 Eclipse 或 IntelliJ 进行开发,但他们使用从来宾运行的 shell 脚本部署到来宾操作系统(这反过来又通过共享文件夹从主机操作系统中提取文件)。所以真的没什么特别的。现在,开发人员绕过一个外部 HD,上面有一个 VirtualBox 图像,它会时不时地更新(但并非总是如此)。但大多数更新是通过电子邮件爆炸说“在您的 VM 中运行这些 cmds 以稍微更新 JVM”或类似内容。
显然我们需要 Vagrant。但我不确定我们是否应该使用 SaltStack 或 Puppet 或 Chef 等?对于像这样一个相对简单的环境,只有一个本地 VM,我希望尽可能避免使用 cmd 行的非 Linuxy 开发人员,这里的最佳解决方案可能是什么?