我是否使用phing locale或remote?

时间:2010-02-15 08:10:17

标签: php deployment ssh phing

我有一个与phing有关的问题。我是否在本地开发机器上使用它来部署应用程序,还是通过生产机器上的ssh调用它?我不知道Eran Galperin(What is your preferred PHP deployment strategy)的步骤在哪里。我是部署脚本的初学者。所以请原谅:)

6 个答案:

答案 0 :(得分:5)

您通常会有两个部署脚本 - 一个是您在本地运行的脚本,它将ssh插入远程服务器,然后启动远程脚本。

您的本地脚本可以执行svn export,压缩内容并首先将它们(scp)推送到远程服务器。远程脚本可以执行迁移,重启服务等操作。

答案 1 :(得分:2)

基本策略是您在本地计算机上创建一个构建(好吧,基本上是您可以联机的Web应用程序的副本),然后将其部署在服务器上。

答案 2 :(得分:2)

您在本地计算机上运行它,PHPing将连接到生产服务器并部署网站。 :)

答案 3 :(得分:2)

Phing可以通过多种方式应用。

如果您没有关于如何部署的指令,最好的方法通常是首先从本地副本生成“测试版本”,检查它是否按预期工作,然后生成高效的版本。

在某些情况下,您必须遵循开发环境中的某些规则,您可以轻松地使Phing适应这些需求。

答案 4 :(得分:1)

我开发了一个phing deploy脚本,我已经用你所描述的两种方式使用它了。只要本地或远程计算机上安装了phing库和依赖项,您就可以通过两种方式完成它,并且能够从任何环境中运行它实际上是一个好处。

让我详细说明一下我的经历,但请记住,每个人都生活在他们自己的项目/工作室的需求和要求的微观世界中,因此对我有用的东西可能对其他人不起作用。

我认为部署对于企业来说通常非常重要,每次都需要以完全相同的方式发生。如果有很多人在进行部署,那么不良习惯或程序很容易发生分歧,而且当错误发生时也是如此。使用phng进行自动部署非常方便,因为如果每个人都使用相同的程序,那么错误的可能性就会大大降低。 Phing可以很容易地遵循严格的程序,因为所有开发人员必须做的是运行一个简单的命令,如“phing deploy”或“phing build”或者你有什么。

现在回到原来的问题,在本地开发机器以及登台,测试,生产服务器上遵循这些程序也很有帮助,因为就像人一样,机器可以有不同的机器,从机器到机器不同机。使用phing,您可以开发一个脚本,该脚本在您的任何企业计算机上都具有相同的结果(取决于您的代码的强度和意图,但是生活的格式使其易于满足该理想)。因此,如果您从开发框中运行phing版本,理想情况下,如果从测试框或生产服务器运行它,则会产生相同的效果。如果您可以在任何计算机上以相同的方式运行部署,您可以确信部署后出现的任何问题都不是您的部署过程的结果(因为它们与您部署到测试或本地开发框时没有区别)

能够将我的代码部署到本地计算机并使用与将其部署到生产环境完全相同的过程非常好。

至于最好做什么,我说,为什么不是以上所有?如果您可以在本地运行它,那么您可以远程运行它。如果部署过程很强,那么结果将是相同的。

答案 5 :(得分:0)

你可以两种方式做到这一点。您可以在开发运行测试时在本地运行该工具,并且通常确保您的代码处于良好状态。服务器自动化(如果您选择这样做)也可以运行测试,生成文档,并将更改部署到测试或生产设置。

在本地执行此操作可降低进程在服务器设置上停滞的可能性,而CI会定期运行以确保没有任何内容因错误而中断。