用于专业PHP团队开发环境的Boilerplate

时间:2008-10-17 00:12:55

标签: database svn lamp

我想就最小/样板专业PHP团队开发环境达成一致意见。我无法在网络上找到这些信息。在开源世界中有很多选择和很多方法可以做,但我还没有找到任何基础设施/管道方面的常见最佳实践。

考虑一个拥有5-10名开发人员/设计师团队的小商店,做LAMP CRUD应用程序。 他们需要管理开发,登台和生产构建。他们想要高质量的软件,他们不能踩着彼此的脚趾试图完成任务。部署需要简单快捷。有时候会有修补程序。将生产服务器回滚到以前的版本需要同样快。

需要考虑的事项是:

  • 源代码管理(SVN,git, 汞柱)

  • 数据库架构/数据连续 集成,与源代码绑定 修订。这是我的一个 特别感兴趣的是。

  • 个人发展环境 (例如,每个开发人员都有VMware 发展的实例 环境修补(DB 服务器,网络服务器,代码,数据, 等))

  • 管理中央发展, 暂存和生产构建

  • 生产部署(例如tar 球,.rpm / .deb)

  • 自动测试(例如SVN提交 钩子,夜间cron测试慢 测试)

  • 团队沟通(错误跟踪,内部文档, irc / im等)

我已将此版本保留为社区编辑,因此您可以自由编辑/添加。理想情况下,有人可以访问此页面,几个小时后就可以为他们的团队开始开发奠定基础。

2 个答案:

答案 0 :(得分:1)

我会开始的。 随时可以编辑和改进

这是一个名为dundermifflin.com的虚构产品

  1. 设置运行您计划在生产中使用的相同软件的开发虚拟机:例如Ubuntu与PostgreSQL,Apache和PHP5。

  2. 每个开发人员都运行自己的VM副本,主机名设置为用户名(例如phpguy.dundermifflin.com)

  3. 设置中央登台服务器(与开发VM相同)。这是staging.dundermifflin.com。

  4. 使用dundermifflin.com的新存储库设置中央Subversion服务器。这是devel.dundermifflin.com。

    • 4A。添加post-commit hook以运行“trunk”提交的测试
    • 4b中。将post-commit钩子添加到包/部署到登台服务器以进行标记为“staging”的提交
    • 4c中。将post-commit hook添加到打包/部署到生产服务器以进行标记为“release”的提交
  5. 此方法不涉及数据库持续集成,这意味着将SVN回滚到先前版本将破坏构建,除非您的数据库非常静态。建议

    1. 在中央Subversion服务器(devel.dundermifflin.com)上使用Bugzilla进行错误跟踪。

    2. 编写一个shell脚本来运行PHPUnit / SimpleTest测试(由项目4a调用)。

答案 1 :(得分:0)

对于持续集成,与您的版本控制系统和自动化单元测试相关联,我发现这篇文章非常有趣:

Continuous builds with CruiseControl, Ant and PHPUnit