在开发Web应用程序(使用Laravel)时,我正在使用 Windows 和 XAMPP 。另外,我使用 Git 进行版本控制。当我完成一个项目时,我将不得不在VPS(LAMP)上部署它。怎么做?现在,我想到了两个想法:
SFTP - 例如,我会使用 MobaXterm的图形SFTP浏览器,我只是复制我的项目(文件)......然后我会导入MySQL数据库(或运行迁移)。
Git / GitHub - 在我的VPS上我会安装Git然后我会:
您是以这种方式工作,还是有更好的解决方案?我认为第二种方式( Git / GitHub )优于第一种方法( SFTP ),因为如果我必须添加一些新功能或修复错误 - 我将拥有在服务器上做的是: git pull (来自GitHub)。
修改
现在我看到有envoyer.io和forge等服务,但它们不是免费的。那么,我在问题中描述的第二种方式(2. Git / GitHub )有哪些缺点,这是免费的?
答案 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应用程序。