我想就最小/样板专业PHP团队开发环境达成一致意见。我无法在网络上找到这些信息。在开源世界中有很多选择和很多方法可以做,但我还没有找到任何基础设施/管道方面的常见最佳实践。
考虑一个拥有5-10名开发人员/设计师团队的小商店,做LAMP CRUD应用程序。 他们需要管理开发,登台和生产构建。他们想要高质量的软件,他们不能踩着彼此的脚趾试图完成任务。部署需要简单快捷。有时候会有修补程序。将生产服务器回滚到以前的版本需要同样快。
需要考虑的事项是:
源代码管理(SVN,git, 汞柱)
数据库架构/数据连续 集成,与源代码绑定 修订。这是我的一个 特别感兴趣的是。
个人发展环境 (例如,每个开发人员都有VMware 发展的实例 环境修补(DB 服务器,网络服务器,代码,数据, 等))
管理中央发展, 暂存和生产构建
生产部署(例如tar 球,.rpm / .deb)
自动测试(例如SVN提交 钩子,夜间cron测试慢 测试)
团队沟通(错误跟踪,内部文档, irc / im等)
我已将此版本保留为社区编辑,因此您可以自由编辑/添加。理想情况下,有人可以访问此页面,几个小时后就可以为他们的团队开始开发奠定基础。
答案 0 :(得分:1)
我会开始的。 随时可以编辑和改进
这是一个名为dundermifflin.com的虚构产品
设置运行您计划在生产中使用的相同软件的开发虚拟机:例如Ubuntu与PostgreSQL,Apache和PHP5。
每个开发人员都运行自己的VM副本,主机名设置为用户名(例如phpguy.dundermifflin.com)
设置中央登台服务器(与开发VM相同)。这是staging.dundermifflin.com。
使用dundermifflin.com的新存储库设置中央Subversion服务器。这是devel.dundermifflin.com。
此方法不涉及数据库持续集成,这意味着将SVN回滚到先前版本将破坏构建,除非您的数据库非常静态。建议
在中央Subversion服务器(devel.dundermifflin.com)上使用Bugzilla进行错误跟踪。
编写一个shell脚本来运行PHPUnit / SimpleTest测试(由项目4a调用)。
答案 1 :(得分:0)
对于持续集成,与您的版本控制系统和自动化单元测试相关联,我发现这篇文章非常有趣: