C

CI/CD利用qshell推送七牛云对象存储失败问题(一个坑)

Yranky Dou 学习足迹 2024-10-13

为了方便自动部署更新,很久利用gitlab社区版自建了一个代码托管平台,并且为一个项目写了一个CI/CD脚本,目的是在打tag之后可以自动部署更新部署包。昨天有个更新,打了tag之后,前面的构建流程都很顺利,最后一步的上传,重试了很多次都失败。打开日志一看,提示什么open file:
2024-10-13T04:43:27.png

重新运行了一次,依然是同样的文件名,同样的错误。

首先去github的qshell项目下面查找是不是有遇到同样问题的同学:
qshell/issues/396
2024-10-13T04:46:00.png

提示查找这个文件是不是存在,下载了构建产物下来:
2024-10-13T04:47:25.png
发现产物的目录下面确实没有那个文件。
这就奇怪了,CI/CD的流程明明是按照顺序来的:
2024-10-13T04:48:34.png
最后一步上传应该读取到的应该是最新的才对,但是看日志读取的好像就不是这一次的。于是,继续在issue里面查找:
最后终于找到了相关的issue:
qshell/issues/147
qshell/issues/124
原来是qshell会缓存目录列表,需要手动指定--rescan-local每次都重新扫描目录。

这么坑的特性居然还不写在文档里。。。
2024-10-13T04:58:39.png

按照上面的提示,在命令后面加了个--rescan-local,果然成功上传了。

PREV
完整react native环境引入drizzle等orm框架
NEXT
编译ijkplayer