这并不是一个Laravel的问题或者疑问,你需要在一个开发运维论坛上询问他们如何部署像你这样的PHP应用程序。
你的Laravel应用程序基本上是一个PHP应用程序,一些包是由Composer提供的,所以它更像是一个Composer应用程序而不是Laravel,但是你可能有一些Laravel的需求,比如执行 php artisan migrate
或任何其他artisan命令来发布部署您的应用程序,或者不需要,因此,这更多是您的应用程序的要求,而不是Laravel的要求,对吗?
我开发了一个部署包,名为Deeployer。这个包的意图是,每次我将应用程序推送到生产(或分支)分支时,GitHub都会触发一个钩子,告诉我的服务器执行任何必要的操作来将我的应用程序部署到我的VPS。在基本的部署中,它将:
1)git pull
存储库
2)执行 composer update
更新我的vendor文件夹
3)执行bower update
下载我安装的任何js或css
4)执行php artisan migrate
升级我的数据库架构
5)执行chmod
和chown
来修复这些命令在下载文件时可能对我的目录造成的权限混乱
明白了吗?这些都是非常特定于我的部署结构的事情,这就是为什么我不认为您会找到关于部署应用程序的一致意见。当Anahkiasen首次构建Rocketeer时,有人大声喊道:“如果我们已经有Capistrano,你为什么还要这样做?”。
昨天我遇到了这个:http://www.deployhq.com/packages,由Cartalyst的Ben Corlet和其他不错的家伙使用。
还有Rocketeer:http://rocketeer.autopergamene.eu/。
不要忘记 Laravel 自带 SSH 远程组件(我在 Deeployer 上使用过它,Rocketeer 也使用它),这可能有助于您部署应用程序所需的任何内容。因此,最好考虑您的部署需求,并找到适合您的方式,使用软件包、应用程序或仅使用 Laravel。