![环境设置](https://linux22.com/image/603762/%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE.png)
我的公司开始感受到开发人员意见不一致的痛苦。例如,一些开发人员在 Windows 上开发,一些开发人员在 ubuntu 上开发,等等……然后代码运行在 CentOS 上,我们开始遇到诸如“在我的计算机上运行?!”之类的问题。我们希望/需要开发并部署到可复制的环境中,以减少发布日的问题。我很好奇是否有人有处理这个问题的良好做法?我们考虑了图像,然后为每个人提供 VM,以确保他们可以单独测试所有内容,而不是在一个大型开发环境中,3 个人正在推动更改并覆盖/破坏其他人正在处理的代码。似乎 VM 方法可能并不理想 - 我们必须确保所有硬件都能够处理这个问题。我知道每个公司都不一样,但是否有人可以推荐一种理想的方法来解决这个问题?或者最坏的情况 - 您如何处理这个问题?您尝试过什么并失败了,您尝试过什么并成功了?
我认为我们目前的想法是弄清楚如何在我们的网络基础设施中启动 VM 实例并允许开发人员使用 NFS 进行开发。这将减轻可能需要升级任何系统或处理不兼容问题的压力。(例如,有人习惯在 Windows 上开发,其他人习惯在 Linux 上开发,甚至更多人习惯在 Mac 上开发,等等...)
答案1
这正是 Vagrant 诞生的原因:http://www.vagrantup.com/
在与部署相同的平台上进行开发,运行相同版本的软件包,并让每个人都从源代码控制中提交/提取。使用软件包/配置管理系统(puppet 或 chef),您就万事大吉了。