gitlab-runner报错解决:ERROR: cache factory not found: factory for cache adapter
背景说明:
项目采用的是代码提交后会自动触发gitlab-runner功能,然后编译项目,制作成docker镜像,上传到nexus仓库。
使用一段时间后出现个问题,在项目编译后生成的jar包这儿报错,具体信息如下:
这个报错信息是gitlab-runner工具的报错信息
ERROR: Could not create cache adapter error=cache factory not found: factory for cache adapter "" was not registere
gitlab编译页面也会显示有关的错误信息,这里忘了截图保存了。
排查一番后得知,不是gitlab-runner的问题,而是gitlab的问题
具体问题如下:
编译项目后生成的jar包会提供给Dockerfile文件使用,这里采用的是artifacts。
但是每次编译后都会在gitlab的对应目录下生成一个目录存放这个jar包,默认路径是:/var/opt/gitlab/gitlab-rails/shared/artifacts
里面的目录是随机生成的用来存放每次使用gitlab-runner编译后生成的jar包。
时间长了之后这个目录会占用比较大的磁盘空间,当磁盘空间不够的时候再次编译就会报上述错误。
自动解决办法
使用管理员账号登录gitlab,找到设置中的CI/CD,设置artifacts的有效期,这样一来就不用手动删除了,到期自动删除
这里的解决办法是删除这个目录下除了tmp文件夹外的所有文件夹,也就是删除已经存在的存放jar包的文件夹,然后再次使用gitlab-runner工具编译操作就可以了
目录 返回
首页