- 我推荐以下基础设施:
- 开发主服务器,包含源代码pipe理,缺陷跟踪,运行构build虚拟机等
- Beefy开发人员/ QA工作站(或者笔记本电脑,如果需要的话)充当台式机并运行开发人员testing虚拟机
- 在每个开发人员的机器上testing虚拟机,镜像生产操作系统/configuration,他们可以玩(以validation关于可能需要的configuration更改的想法),并可以吹走并恢复到已知状态(从主映像),如果需要的话;
- QA部门工作站上的testing/质量保证虚拟机,这样单个testing人员就可以pipe理自己的testing/质量保证过程,而不必踩在任何人的脚趾上;
- 一个构build/ CI虚拟机,其中“已知的”构build可以生产内部testing;
- 一个临时环境,在每个可能的方面反映生产,用于validation完整的生产准备生产发布,并validation系统设置的变化;
- 生产,这是从开发者访问locking,这是所有真正的工作发生的地方(显然)
- 还有一堆系统pipe理员支持服务,如黄金服务器 ,不直接适用于开发人员。
- 在开发主服务器上
- 在开发人员工作站上,无论是直接(在任何他们觉得最有成效的环境中),还是在他们的个人testing虚拟机中。
如果你所做的只是生产“相对较小的网站,每个网站都有一些独特的代码”,所有这些听起来就像是过火了。 这听起来像是一个人的乐队,在这种情况下,适当的将它们全部放在您的笔记本电脑上(具有良好的近线备份和非现场备份)。 更重要的是,您将需要考虑如何将代码构build到可重用模块中,以及如何使用版本控制系统的分支function来允许通用代码是通用的,并且唯一代码保持唯一性并且不会相互干扰。 但是,这是Stack Overflow最好的问题,不在这里。