|
|
1
109
Phing 构建脚本是一种方法。Phing类似于 ANT 但是它是用PHP编写的,这使得PHP开发人员更容易根据自己的需要进行修改。 我们的部署程序如下:
还有 phpUnderControl ,这是一个持续集成服务器。老实说,我觉得它对web项目不是很有用。 |
|
|
2
24
using Git . 用git的最新副本更新我的生产服务器只需要一个简单的git推送生产。它简单快捷,因为Git足够聪明,只发送差异,而不发送整个项目。它还有助于在web服务器上保留存储库的冗余副本,以防我的终端出现硬件故障(不过为了安全起见,我也会使用GitHub)。 |
|
|
3
14
我们使用 Webistrano Webistrano允许从SVN、GIT和其他平台进行多阶段、多环境部署。它具有内置回滚支持,支持单独的服务器角色,如web、db、app等,并并行部署。它允许您在多个级别(例如每个阶段)覆盖配置参数,并记录每次部署的结果,还可以选择邮寄。 尽管Capistrano和Webistrano是Ruby应用程序,但部署“配方”的语法非常简单,功能强大,足以让任何PHP程序员理解。最初,Capistrano是为Ruby on Rails项目构建的,但很容易适应PHP项目。
为了提供尽可能快的部署,我们安装了 fast_remote_cache |
|
|
4
7
Apache Ant 部署到不同的目标(开发人员、QA和live)。Ant设计用于Java部署,但它为部署任意文件提供了非常有用的通用案例解决方案。 build.xml文件的语法非常容易学习——在命令行上调用ant程序时,可以定义不同的目标及其依赖项。 例如,我有dev、QA和live的目标,每个目标都依赖于cvsbuild目标,cvsbuild目标从我们的CVS服务器检出最新的head修订,将适当的文件复制到build目录(使用fileset标记),然后将build目录rsyncs到适当的服务器。有一些怪癖需要学习,而且学习曲线并不是完全平坦的,但我多年来一直这样做,没有遇到任何问题,所以我建议针对您的情况使用它,尽管我很好奇在这条线索上还会看到什么其他答案。 |
|
|
5
6
我使用Git手动完成一些事情。一个用于开发的存储库
最大的区别是,我几乎在做的每一个更改中都使用分支(我现在有5个分支),并且倾向于在它们之间来回切换。除了合并其他分支外,主分支不会被直接更改。 我直接从主分支运行实时服务器,当我完成另一个分支并准备合并它时,将服务器翻转到该分支上一段时间。如果它坏了,把它放回主需要几秒钟。如果它能工作,它将被合并到master中,并更新活动代码。我想在SVN中类似的情况是有两个工作副本,并通过符号链接指向活动副本。 |
|
|
6
3
我知道 Phing phpUnderControl . 对我们来说
|
|
|
7
3
我推荐的PaaS是 dotCloud ,除了PHP( see their PHP quickstart 当然,我有点偏见,因为我在那里工作!除了dotCloud之外,其他值得一看的选择还有Pagodabox和Orchestration(现在是Engine Yard的一部分)。 希望这有帮助! 所罗门 |
|
|
8
2
但是,如果您想要一个PHP的持续集成系统,我想 Phing |
|
|
9
2
我来晚了,但我想我会和大家分享我们的方法。我们用Phing和 Phingistrano ,它通过预构建的构建文件向Phing提供类似Capistrano的功能。它非常酷,但只有在当前使用Git时才有效。 |
|
|
10
1
我在服务器上有一个SVN发布分支的工作副本。更新站点(当没有架构更改时)与发出SVN update命令一样简单。我甚至不必让网站离线。 |
|
11
1
另一种选择是使用Capistrano。显然,它与PHP的集成不如与Ruby的集成好,但您仍然可以将其用于很多东西。 最后,您始终可以编写shell脚本。到目前为止,这就是我所做的。 |
|
|
12
1
http://controltier.org/wiki/Main_Page 我们将使用它进行多服务器部署&维修 |
|
|
13
1
在我的例子中,部署不是自动的。我发现自动部署代码和运行数据库迁移脚本是危险的。
|
|
|
14
1
在我的工作中,我和我的团队已经为capistrano的部署开发了一个面向Phing的替代品,我们还将PHPUnit测试、phpcs和PHPDocumentor等Phing中可用的一些优点结合起来。我们制作了一个GitRepo,它可以作为git中的子模块添加到项目中,并且工作得非常好。我已经将它附加到少数几个项目中,并且它的模块化程度足够高,可以很容易地使它与我们几个环境中的任何一个(登台、测试、生产等)上的任何项目一起工作。 使用phing构建脚本,您可以从命令行手动运行它们,我还成功地使用Hudson和现在的Jenkins ci自动化了构建/部署例程。 我现在不能发布任何链接,因为repo还没有公开,但有人告诉我,我们有时会很快开放源代码,所以如果您有兴趣或者您对使用phing和git自动化部署有任何疑问,请随时与我联系。 |
|
|
15
0
您需要向全世界开放SVN访问 在生产web服务器中有许多.svn
ssh到10 www服务器和svn上也是个问题。 |