2008-10-04 37 views
5

还有另一篇关于.NET的文章 - 不是我们。纯PHP。试图找到最佳的方式/流程来部署我们的PHP应用程序的稳定版本。我看过一篇关于Capistrano的文章,但我很好奇那里有什么。除了显而易见的原因之外,我还希望添加一些脚本,以便使用SVN rev number gets added in there as well自动部署PHP应用程序的最佳流程/应用程序是什么?

非常感谢。

+0

男人,人们对于SVN修订版号码很疯狂。 – nickf 2008-10-04 07:01:37

+0

哦是的,但我的意思是,在这里有大约二十个问题,关于如何让你的页面上的整体SVN转速号码如SO在底部。 – nickf 2008-10-05 01:37:52

+0

Capistrano将SVN rev编号放入部署目录中的文本文件中。如果你愿意,可以轻松地在你的页面上回应。 – 2010-09-24 08:31:39

回答

2

我已经使用了很长一段时间的本土脚本。它将(基于应用程序配置文件):

  1. 在基于标记的存储库上运行svn export
  2. 将导出打包为tar或zip文件,其中包含名称中的标记。
  3. 使用scp将软件包复制到适当的服务器(QA或版本)。
  4. ssh连接到服务器来安装软件包并运行安装后脚本。

应用程序配置文件是项目的一部分。它可以告诉脚本(在步骤2)去除路径并处理指定的文件。它还指定服务器名称以及如何处理外部信息。

我最近迁移脚本支持的Git和颠覆。我也可能会将它迁移到PHP,因为我们现在正在运行混合(Linux和Windows),Linux现在只占少数。

我有计划自动调用与提交后钩子的剧本,但还没有需要实现,只是还没有。

+0

我们在这里也做同样的事情,只是一个好主意就是使用易于维护/传输的标准化工具。对于个人项目来说,它可能是好的,但在公司环境中,将脚本和特定于项目的构建脚本再次迁移PHING或ANT等可能更容易支持...... – Djumaka 2016-02-19 12:47:26

1

我不知道它是否适合现场部署的应用程序,但phpUnderControl是一个持续的集成套件(这我才刚刚开始考虑)。如果它不支持本地部署,那么可以扩展它来完成它们。

2

巧合的是,我只是读关于Apache Ant的/ GNU做出这样叫Phing构建工具。我喜欢的是能够在PHP中编写custom extensions

1

我们使用的是Webistrano,这是一个Capistrano的web前端,部署了几十个项目。它构建为Ruby on Rails应用程序,并为Capistrano部署提供了一个很好的,集中的和一致的用户界面。

而不必在每个项目帽的食谱,并运行命令行工具,Webistrano存储在其数据库中的食谱,并允许您的食谱附加到多个项目和阶段。这减少了脚本的重复。

还不错的是,所有的部署日志都存储,所以有一个审计跟踪。谁在现场服务器上部署了哪些修订版本,就是这样。

根据您的要求,版本号也存储在已部署的项目中。

总而言之,我们对此非常满意。