我目前正在为一家慈善组织开发php应用程序,并且现在处于定义部署实践的阶段。
我们的应用程序同时使用Zend Framework和Doctrine。该应用程序将部署到不同的服务器上,每台服务器都有不同的配置文件。这些机器都是Windows和Linux(但都有Apache和php 5.2+)。
源代码存储在一个子版本库中,我们希望在Linux服务器上构建和存储软件包。
最好的情况是更新过程就像在应用程序目录中运行更新命令一样容易,其中更新命令还会更新数据库(使用Doctrine脚本)并确保框架的依赖项。这个更新命令必须是机器上的命令(我们无法ssh进入它们)。最好我们可以选择下载新版本或提供已下载的tarball与新版本。(但只下载或只提供tarball也可以)
安装包和更新(新版本)也最好由单个命令构建。
我读了一些phar、pear、phing的相关内容,但不知道哪种方法最好。连续集成服务器并不是真正必要的,但我考虑在构建版本后自动部署测试环境。
最初只需要非常容易地更新php应用程序,手动填写初始配置文件即可完成安装。