【问题标题】:How to Deploy Laravel project on VPS and How to manage changes?如何在 VPS 上部署 Laravel 项目以及如何管理更改?
【发布时间】:2016-11-19 21:17:41
【问题描述】:

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

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

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

    • 在 GitHub 上创建一个远程存储库(应该是私有的吗?)
    • git push(从本地主机到 GitHub)
    • 然后,在 VPS 上,我会执行 git clone(从 GitHub 到 VPS)
    • 最后,我只需要导入 MySQL 数据库(或运行迁移)。

您是这样工作的,还是有更好的解决方案?我认为第二种方式(Git/GitHub)比第一种方式(SFTP)更好,因为如果我必须添加一些新功能或修复错误 - 我将拥有在服务器上要做的是:git pull(来自 GitHub)。


编辑:

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

【问题讨论】:

    标签: php git laravel github lamp


    【解决方案1】:

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

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

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

    【讨论】:

    • 使用 envoyer.io 和我在问题中描述的第二种方式(2. Git/GitHub)有什么区别,我意思是使用 envoyer.io 而不是那种免费的方式有什么好处?
    • 如果您在负载均衡器后面运行多个 VPS 服务器,则无需手动在所有服务器上运行 git pull。此外,如果您有一个团队,您不希望他们访问 VPS 服务器只是为了部署。如果你使用命令行没问题,你可以使用完全免费的deployer.org
    • 好的,但是如果我没有在负载均衡器后面运行多个 VPS 服务器 - 那么我在问题中描述的第二种方式(2. Git/GitHub)完全没问题,对吧?另外,如果我有一个团队,当团队中只有一个人(例如我)可以在添加新功能或修复错误时从 GitHub 进行部署(拉取)时,为什么他们需要访问 VPS 服务器... ?我不明白他们为什么需要访问 VPS?
    • 是的,只使用 git/github 进行部署就可以了。如果您不在并且有人需要部署代码,您必须提供服务器访问权限才能部署代码。这就是我赋予团队访问权限的意思。
    【解决方案2】:

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

    最基本的、免费的方法是使用 Git 来完成。这将为您提供强大的版本控制,并允许您将在本地开发中所做的所有更改推送到您的存储库,然后将它们拉到您的 VPS。

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

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

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

    这里有很多选择,最好的方法就是你认为适合目的的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2021-03-13
      • 2021-09-03
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      相关资源
      最近更新 更多