如题, 想请教下有使用过 Gitlab CI/CD 进行集成 /部署的 V2er 们, 如何应对打包 /编译型应用的部署上线
比如 php 需要 composer install 之后连带 vendor 目录一起上线, vue 需要打包之后上线 dist 目录, golang 需要编译出二进制文件之后连带配置文件上线.
我的问题是: 如何将编译完成之后的整个目录或者可执行文件+配置文件最好能以增量更新的方式部署到线上呢?
目前我想到的方案有
- 打包 /编译之后提交到某个 release 仓库, 然后触发服务器上的钩子进行 pull (不是很想这么做, 因为会额外多个仓库, 感觉不是非常的优雅?)
- 打包 /编译之后将需要的文件压缩加密之后丢到 CDN 上, 然后触发钩子下载解密解压(全量更新, 体积不可控, 可能中间会有服务间断)
- 打包 /编译之后构建成 docker 镜像丢到私有仓库里, 线上直接使用基于 docker 的部署方案(可平滑升级, 但是需要重新搭建线上环境, 成本有点大)
各位 V2er 们有啥好方案可以分享下嘛