5

我有一个与 phing 相关的问题。我是在本地开发机器上使用它来部署应用程序还是通过生产机器上的 ssh 调用它?我不确定在哪里执行 Eran Galperin 的步骤(您首选的 PHP 部署策略是什么)。我是部署脚本的初学者。所以请原谅:)

马可

4

6 回答 6

5

您通常会有两个部署脚本 - 一个在本地运行,它通过 ssh 连接到远程服务器,然后启动远程脚本。

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

于 2010-02-15T10:34:58.917 回答
2

Phing 可以以多种方式应用。

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

在某些情况下,您必须在开发环境中遵循某些规则,您可以轻松地调整 Phing 以满足这些需求。

于 2010-02-15T08:33:13.233 回答
2

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

于 2010-02-15T08:24:22.057 回答
2

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

于 2010-02-15T08:30:08.420 回答
1

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

让我详细说明我的经验,但请记住,每个人都生活在他们自己的项目/工作室的需求和要求的缩影中,所以对我有用的东西可能对其他人不起作用。

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

现在回到您最初的问题,在本地开发机器以及暂存、测试、生产服务器上遵守这些程序也很有帮助,因为就像人一样,机器可能具有因机器而异的小特性。使用 phing,您可以开发一个脚本,该脚本将在您的任何企业机器上产生相同的结果(取决于您的代码的强度和意图,但 phing 的格式可以轻松满足该理想)。因此,如果您从开发箱运行 phing 构建,理想情况下,如果您从测试箱或生产服务器运行它,它具有相同的效果。如果您可以在任何机器上以相同的方式运行部署,

能够使用与将代码部署到生产环境完全相同的过程将代码部署到本地计算机,这真是太好了。

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

于 2011-02-17T05:33:15.407 回答
0

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

在本地执行此操作可减少进程在服务器设置上停滞的机会,而 CI 会定期工作以确保没有因错误而被破坏。

于 2010-03-23T22:07:06.037 回答