如何在VPS上部署Laravel项目以及如何管理更改?

时间:2016-07-17 00:25:10

标签: php git laravel github lamp

在开发Web应用程序(使用Laravel)时,我正在使用 Windows XAMPP 。另外,我使用 Git 进行版本控制。当我完成一个项目时,我将不得不在VPS(LAMP)上部署它。怎么做?现在,我想到了两个想法:

  1. SFTP - 例如,我会使用 MobaXterm的图形SFTP浏览器,我只是复制我的项目(文件)......然后我会导入MySQL数据库(或运行迁移)。

  2. Git / GitHub - 在我的VPS上我会安装Git然后我会:

    • 在GitHub上创建一个远程存储库(它应该是私有的吗?)
    • git push (从localhost到GitHub)
    • 然后,在VPS上,我会做 git clone (从GitHub到VPS)
    • 最后,我只需要导入MySQL数据库(或运行迁移)。
  3. 您是以这种方式工作,还是有更好的解决方案?我认为第二种方式( Git / GitHub )优于第一种方法( SFTP ),因为如果我必须添加一些新功能或修复错误 - 我将拥有在服务器上做的是: git pull (来自GitHub)。

    修改

    现在我看到有envoyer.ioforge等服务,但它们不是免费的。那么,我在问题中描述的第二种方式(2. Git / GitHub )有哪些缺点,这是免费的?

2 个答案:

答案 0 :(得分:2)

这是一个主要吸引基于意见的答案的问题,因为每个人都喜欢以不同的方式工作。

最基本,最自由的方式是使用Git来做到这一点。这将为您提供强大的版本控制,并允许您将本地开发中所做的所有更改推送到存储库,然后将其下载到您的VPS。

每次将更改推送或合并到主分支时,您甚至可以设置webhook以自动更新VPS上的版本。

通过SFTP进行此操作可能会非常缓慢,因为它需要一个过程,并且您会失去版本控制。这意味着,如果你不小心弄坏了某些东西,那么你就无法轻易撤消它。使用Git,您可以回滚到之前的提交。

如果您想要私人回购并且不想为它们付款,那么您可以考虑使用GitLab而不是GitHub。 GitLab允许您使用它们托管存储库,或者您可以在VPS上部署自己的GitLab实例并托管所有VPS。

虽然有很多选择,但最好的方法实际上就是你认为适合的目的。

答案 1 :(得分:1)

有很多工具可以帮助您部署Laravel或几乎任何应用程序。

我过去曾使用https://deploybot.com/https://envoyer.io/

您也可以使用https://forge.laravel.com/管理您的VPS并部署您的laravel应用程序。