Background:
我正在使用GitHub来存储ZF2应用程序 .
存储在模式内的实际数据的数据库模式不存储在版本控制中 . 目前我处于开发模式,所以我有一些数据库转储脚本,我需要时加载到数据库中 . 当我需要持续的粒度控制以进行即时测试时,我还通过phpMyAdmin调整数据库中的条目 . 我也在研究使用Doctrire ORM,因此我的模式将通过Annotations成为我的代码的一部分,并将被检入GitHub . Doctrine ORM将为我生成实际的架构,尽管它仍然是部署过程中的一个单独步骤 . 但是,实际数据仍然在应用程序之外且在存储库之外,并且当前必须单独处理并且不是自动化的 .
Goal:
我希望能够将ZF2应用程序和数据库架构以及数据部署到Zend Server上,并以尽可能最自动化,最少手动的方式使其“正常工作” .
Question:
以最自动化,最不可手动的方式部署ZF2应用程序的每个方面的推荐的最佳实践方法是什么,让它“正常工作”?让我们在这里关注开发和测试模式,因为在 生产环境 中,可能有一个单独的部署步骤来防止意外的实时数据覆盖 .
1 回答
您可以尝试使用Phing(http://www.phing.info/)来部署PHP应用程序,调整目录权限,运行数据库迁移,运行单元测试等 . 我在几个项目中使用了Phing并取得了巨大成功 .