关于.NET的另一篇文章与.NET有关 - 而不是我们。纯PHP。试图找到部署PHP应用程序稳定版本的最佳方法/流程。我在Capistrano看过一篇文章,但我很好奇还有什么。除了显而易见的原因,我还想添加一些脚本以便SVN rev number gets added in there as well。
非常感谢。
答案 0 :(得分:2)
我已经使用了自己编写的脚本很长一段时间了。它将(基于应用程序配置文件):
svn export
。scp
将软件包复制到相应的服务器(QA或版本)。ssh
连接到服务器以安装软件包并运行安装后脚本。应用程序配置文件是项目的一部分。它可以告诉脚本(在步骤2)剥离路径并以其他方式处理指定的文件。它还指定服务器名称以及如何处理外部。
我最近迁移了脚本以支持Git和Subversion。我也可能将它迁移到PHP,因为我们现在运行的是混合(Linux和Windows)设置,而Linux现在只占少数。
我计划使用post-commit钩子自动调用脚本,但还没有必要实现它。
答案 1 :(得分:2)
巧合的是,我刚刚阅读了一篇名为Phing的Apache Ant / gnu make构建工具。我喜欢它的是能够在PHP中编写custom extensions!
答案 2 :(得分:1)
我不知道它是否适用于实时部署应用程序,但phpUnderControl是一个持续集成套件(我现在才开始研究)。如果它本身不支持进行部署,则可以扩展它们以进行部署。
答案 3 :(得分:1)
答案 4 :(得分:1)
我们正在使用Webistrano,这是Capistrano的网络前端,可以部署几十个项目。它是作为Ruby on Rails应用程序构建的,为Capistrano部署提供了一个漂亮,集中且一致的用户界面。
Webistrano不是在每个项目中都有封面配方,而是运行命令行工具,而是将配方存储在其数据库中,并允许您将配方附加到多个项目和阶段。这减少了脚本的重复。
同样很好的是存储了所有部署日志,因此存在审计跟踪。是谁在实时服务器上部署了哪个版本。
根据您的要求,修订号也存储在已部署的项目中。
总而言之,我们对它非常满意。