部署项目和编译资产的正确方法

时间:2018-03-29 07:36:09

标签: git laravel deployment gulp web-deployment

我在github repo上保存laravel项目,当我在开发中进行一些更改时,我将其推送到repo,然后以这种方式将其部署到生产服务器上:

1) git pull
...
n) gulp --production

一段时间后,项目的css/js开始增长,编译资产的时间大约需要30秒。所以我想也许我不适合部署过程,因为在git pull命令之后,项目仍然使用旧资产,并且仅在30秒之后它才会获得新的静态。您能否正确地告诉我如何将项目部署到生产服务器而不会有任何延迟。 我已经阅读了很多相关内容,但无法找到好的解决方案。

  • 有些人建议将已编译的资产保存在回购中:它很好,因为您不需要在生产中安装nodejsgulp但是有很多减号要做这样做;
  • 此外还存在不同的CI系统,例如jenkinscircleCITravis CI,但之前我没有使用它们,我也不知道它们是否可以提供帮助解决问题。

1 个答案:

答案 0 :(得分:1)

这绝对是CI / Build服务器或Saas产品的工作。我们将Amazon Web Services用于我们的产品,因此在他们的生态系统中,我们使用CodeBuild产品来准备我们的代码以便部署到环境中。

源代码进入我们的CodePipeline,然后将其推送到CodeBuild,它安装我们所有的composernode依赖项,然后运行webpack版本。假设一切顺利,它将压缩构建的文件,并将它们发送回CodePipeline,为下一步做好准备。

我们过去也使用过Jenkins,但发现这需要相当多的复杂配置和维护。