gpt4 book ai didi

git - 如何在远程服务器上管理 laravel 4

转载 作者:太空狗 更新时间:2023-10-29 14:08:04 26 4
gpt4 key购买 nike

我的机器上有我的本地 git 存储库,其中安装了 composer 和所有这些。然后我有一个远程服务器来托管我的网站,在那里我有一个裸仓库,它有一个接收后 Hook ,可以对 var/www/文件进行 checkout (GIT_WORK_TREE=/var/www/git checkout -f)。

现在,当我使用 codeigniter 或其他非基于 composer 的网站时,它就像提交更改并将其推送到服务器一样简单。由于这是我第一次使用 Composer,所以我有些头疼。

如何在远程服务器上设置 laravel 4 以便我可以将更改推送到它?我需要安装 Composer 吗?如果我需要更新 composer.json,我是否还需要在服务器上执行“composer dump-autoload”或“composer update”?基本上,是否有关于如何管理工作流程的简要说明或教程?

如果我有简单的“git commit && push”,我会非常喜欢它,它会在服务器上为我做所有事情,包括所有 Composer 的东西。

谢谢!

最佳答案

如何完成此操作在一定程度上取决于您的托管服务。您需要一定级别的访问权限才能从 Git 自动部署。一些公司(例如 Heroku 和 FortRabbit)内置了此功能。如果您的主机没有,这里有一些关于如何实现该功能的注意事项:

1。从 .gitignore 中移除 composer.lock

这是在 .gitignore 文件中,因为 Laravel 的创建者不希望它出现在存储库中。但是,您应该将它包含在您的版本控制中,因为它是您的生产服务器在更新生产服务器上的依赖项时应该读取的内容。

当您从 git 更新您的服务器时,您应该也更新其中的 composer.lock 文件。

2。从您的 Git 存储库设置自动部署。

通常的步骤是:

  1. 设置 Github web hooks (是的,我假设是 Github。您需要一种方法向您的服务器发送请求,让它知道您的存储库已更新)
  2. 让你的服务器监听 web hook
  3. 让你的服务器通过从 git 中 pull 最新的来响应 web hook

这些在这篇关于 deploying from github using webhooks and nodejs 的文章中有详细概述。

3。部署后脚本

从 Github 获取最新代码后,您可能更新了在您的 composer.json 文件中定义的依赖项(并在您的 composer.lock 中设置 文件)。这是关于 why you use composer.lock in production 的一些解释结合 composer install 命令。 (composer update 适用于开发,composer install 适用于生产)。

在从 Git 中提取最新更改后,您可以运行(可能是从告诉 git 提取最新生产环境的同一脚本)运行 composer install

关于git - 如何在远程服务器上管理 laravel 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com