php - Laravel 部署……有标准的方式吗?

标签 php deployment laravel web-deployment

我开始在我的项目中认真使用 Laravel 4。我知道这个框架在开发 RESTful 应用程序时提供了许多优势。但我知道对于如何使用 Laravel 进行部署/发布和应用程序没有达成共识。我仍在使用 FTP 将文件传输到我的生产主机。但我的问题是,除了 Laravel 之外,是否有任何标准方法可以做到这一点?我坚信只要有一点点独创性,就可以创建像 php artisan publish [Production server name and SSH credentials] 这样的参数。

我从 Anahkiasen/rocketeer 读到了一些有趣的东西和 Christopher Pitt , 两个很好的来源,但是有一个共识或标准的方式来使用 laravel 发布应用程序?

最佳答案

这不是真正的 Laravel 问题/问题,您必须在开发运营论坛上询问他们会如何部署像您这样的 PHP 应用程序。

你的 Laravel 应用基本上是 PHP 应用,一些包是由 Composer 提供的,所以它更像是 Composer 应用而不是 Laravel 应用,但你可能有一些 Laravel 需求,比如执行 php artisan migrate,或任何其他 artisan 命令来后部署您的应用程序,或者不是,因此,与 Laravel 相比,它更符合您的应用程序的要求,对吧?

我开发了一个包来进行我的部署,Deeployer .这个包的目的是,每次我将我的应用程序推送到生产(或暂存)分支时,Github 都会触发一个钩子(Hook),告诉我的服务器做任何它需要的事情来将我的应用程序部署到我自己的 VPS。在基本部署中,它将:

1) git pull 仓库

2) 执行composer update 来更新我的供应商文件夹

3) 执行bower update 来下载我安装的任何js 或css

4) 执行php artisan migrate 来升级我的数据库模式

5) 执行 chmodchown 来修复这些命令在下载文件时可能对我的目录造成的任何权限困惑

看到了吗?这些是我的部署结构非常特殊的东西,这就是为什么我真的不认为您会就部署应用程序达成共识。当 Anahkiasen 第一次构建 Rocketeer 时,有人喊道:“如果我们已经有了 Capistrano,你为什么还要这样做?”。

昨天我碰到了这个:http://www.deployhq.com/packages , 由 Ben Corlet 使用来自 Cartalyst 和其他好人。

还有火箭手:http://rocketeer.autopergamene.eu/ .

不要忘记 Laravel 本身有它自己的 SSH Remote 组件(我在 Deeployer 上使用它,Rocketeer 也使用它),这可能会帮助你做任何你需要部署你的应用程序。

因此,您最好考虑一下您的部署需求并找到您的方式,使用包、应用程序或仅使用 Laravel。

关于php - Laravel 部署……有标准的方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20383871/

相关文章:

php - 删除唯一索引 Laravel

php - Laravel 本地化,如何获取自定义语言值

php - Laravel 数据库查询

php - 使用PHP和MYSQL登录帐户的逻辑?

node.js - Heroku 上的第二个 Node 应用程序部署总是失败

python - 无法使用 Git 部署生成的 Flask 文件

mysql - Laravel 查询 - 执行查询时 Laravel 似乎在每个字母之间添加 ?/空格

php - 结合 JQuery/PHP 将点击记录到数据库中?

php - 如何从动态数据库内容构建一个 SEO 友好的网站 URL?

ruby-on-rails - AWS EB错误:在所有实例上发现不正确的应用程序版本