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

Right way to deploy project and compile assets

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

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

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

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

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

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