CI/CD过程中如何上传镜像?



在我的项目中,图像资源托管在公共目录/resources/image中。如果我想在页面上插入一个图像,我将把路径写如下:

<img src="/resources/image/a.png">

这样会有问题的。形象资源需要投入到最终的包装产品中。到目前为止,资源目录已经达到70m,严重增加了包的大小。现在我想把所有的图片放到CDN中

想到的方法是:本地开发仍然是指resources/image中的资源,但是发布到online时,使用webpack代替publicPath, publicPath的值为CDN的前缀。这样,包的尺寸就会小得多。

// before
<img src="/resources/image/a.png">
// after
<img src="https://some.cdn.com/resources/image/a.png">

但是这样做有一个问题:每次添加文件,我都要手动上传到CDN,这更麻烦。

我目前正在使用Gitlab,也有一个上传图像的界面。是否有办法在本地添加文件,并在CI/CD进程中提交代码到远程时自动将更改后的图像上传到CDN ?

您可以使用Git LFS(大文件存储)解决方案将大型/二进制文件添加到存储库中。查看git-lfs如何安装和添加文件。

另外,如果你使用github actions,你需要在checkout步骤中设置lfs: 'true'。

- name: Check out repository
uses: actions/checkout@v2
with:
lfs: 'true'

最新更新