如何将作曲家与git拉力一起使用,以免找到班级



我正在使用laravel 5.6。

我当前的代码部署过程如下

  1. 对文件进行了一些更改
  2. 提交并将其推到分支。
  3. 一旦一切都完美地将其合并为掌握和将主分支拉到代码生产服务器(我的代码)。

我的问题

  1. 如果我有一些由作曲家维持的依赖项。我只是将其添加到当前分支并更改其他文件。
  2. 当我将其合并到主服务器上时,我需要手动运行Composer Update命令。
  3. 当我们尝试访问它的依赖类或服务提供商时,服务器会出现错误(因为我们需要在更新作曲家依赖项时将其添加到config/app.php中。
  4. 更新后,它可以很好地工作。
  5. 所以我想避免更新作曲家依赖时发生的5-10秒错误。

我有两个选项

  1. 更新代码时,将应用程序放在维护模式下。 ->我不能那样做。
  2. 每当有依赖关系使用两个合并上传时。 ->我不想这样做。

是否还有其他最佳实践解决方案解决此问题。

您绝对不应在生产服务器上更新,只需安装作曲家即可。您可以将其连接到合并的git动作,相应地将其部署到生产中(CI/CD,脚本或全手册?)。git钩的文档:https://git-scm.com/docs/githooks这是针对git-hooks post-merge:https://git-scm.com/docs/githooks#_post_merge

避免此问题的最佳部署方法是,每次部署时,都会对新文件夹这样做。然后,部署完成后,您可以切换文件夹。

这可以使用符号链接或类似:

完成
deploys
    1551270000
    1551280000
live > deploys/1551280000

然后进行新的部署(1551290000):

deploys
    1551270000
    1551280000
    1551290000
live > deploys/1551280000

然后完成后,更改符号链接:

deploys
    1551270000
    1551280000
    1551290000
live > deploys/1551290000

这就是Capistrano和其他人所做的。我建议使用这样的工具,而不是尝试编写自己的工具 - 这个问题已经解决。

当我将其与主合并并将其拉到生产服务器时,我需要手动运行Composer Update命令。

不,你没有。您应该只运行

> composer install

在实时服务器上确保作曲家依赖关系是最新的。

相关内容

  • 没有找到相关文章

最新更新