在不久的将来,我将有两周的时间来改善我们的工作环境.
我们主要开发一个包含2-10个开发人员的大型PHP/MySQL项目.
目前我们有一个dev服务器,用mod_userdir运行apache,每个dev在他的(samba-accessible)主页中都有一个/ public_html文件夹.对于VCS和Project Management/Issuetracking,我们使用Subversion和Trac.测试/部署需要一些手动步骤,而不是那里的自动化程度.
我对新设置的计划包括对现有设备的以下更改:
持续集成
将CI集成到Trac,创建/查找一个插件,该插件提供在构建进度成功或失败后启动操作(即部署到staging/live)
创建自动部署脚本(一键式)
将(doxygen)-Documentation 集成到构建进程中并以某种方式进入Trac
添加自动版本控制
添加另一层监控(本地nagios监控我们的生产系统 - nagios)
添加一个夜间运行的MySQL Replication Slave,开发人员可以使用它来测试up2date数据的内容
查看备份计划
记录我以这种方式设置所有内容的方式和原因
您有什么提示/提示可以进一步改进吗?我们应该以不同的方式做什么?
我会确保您编写自动部署脚本,使其可以被持续集成工具使用.Hudson(和我怀疑的CruiseControl)基本上包装这些脚本并提供了一个漂亮的前端.
Hundson易于安装,并附带Trac插件,SVN,CVS,Git插件和Doxygen插件以及其他几乎你能想到的东西.警告:我没有使用过所有这些插件,它们可能无法完全按照您的要求进行操作......
如果您有CI软件的预算,那么TeamCity值得一看(或者您使用的是Bitten?).
你有一个很好的机会,祝你好运!