我正在尝试使用 Phing 来自动化:
- 运行测试
- 在每台 Developer 机器上运行数据库迁移 [使用 dbdeply]
- 在需要时部署到生产环境
我认为在我的项目中添加一个构建文件夹并将我所有的构建配置文件和数据库增量放在该文件夹中是有意义的。并将所有内容提交到 SVN 存储库中。所以每个开发人员在从 svn 签出时都会得到更新的构建文件。并能够运行构建以使用新更改更新他的数据库。
在生产服务器上:我计划在那里添加另一个构建文件以在 svn 中获取最新的 Tagged 版本并执行 CSS 和 JS 压缩。
我也计划使用 PHPUnderControl 实现持续集成,这样我就可以跟踪每个构建的结果,并在构建失败时得到通知。
那么,您认为这一切都有意义吗,还是您有其他更好的建议?