我需要为一个由不到 5 名程序员组成的小型分布式团队设置一个开发环境,以便使用 Drupal 构建网站。开发由每个程序员在自己的机器上完成。理想情况下,我们会将所有服务器与生产服务器放在同一个服务器场中,但我们想限制成本。建议的设置如下所列。我是新手,正在尝试弄清楚这一点,因此任何澄清/评论都将不胜感激。
寻求答案
您能否对以下方面发表评论:(1)每个步骤的替代方案;(2)对我们遗漏的内容的补充;(3)设置各种服务器的方法,以最大限度地降低托管成本,尤其是在盈利前阶段;(4)帮助自动化尽可能多的流程的附加工具;(5)在向分布式团队提供访问权限时我们应该考虑的安全问题?
建议设置
源代码存储库-- 使用 sourcerepo.com 或 storagehosting.com(Trac/Git 或 Redmine/Git)。这将容纳源代码、wiki、错误跟踪和项目管理。无限用户的价格约为每月 6 美元。
测试服务器-- 我们正在考虑使用便宜的 VPS(大约 10 美元/月)。我们还在考虑使用 Amazon EC2,以便开发人员可以同时针对最新版本进行测试。
临时服务器-- 我们将使用廉价的 VPS 或在 Linode.com 上使用两个节点(一个用于暂存,一个用于生产)。
生产服务器—— 我们正在 Linode.com 上寻找此信息。
备份/媒体文件存储-- 我们希望设置备份到 Amazon S3 帐户,并配置 S3 来保存用户将上传到网站的图像。这将有助于减少生产服务器上的带宽和存储成本。我们还可以在生产网站上使用 Linode.com 的自动备份服务。
测试、登台和生产服务器将安装相同的软件,包括 Drupal Mercury(带有 drush、code 和 simpletest 模块)、用于 CI 的 Hudson、用于功能测试的 Selenium 和用于基准性能的 jMeter。
答案1
拥有多个测试和准备服务器是多余的,除非您预计应用程序会在运行过程中破坏系统。只需为测试和准备使用一台服务器,并拥有多个具有独立文档根目录的虚拟主机。