如何在构建Gitlab时清除缓存?

Mit*_*kov 5 python django gitlab docker docker-compose

Gitlab无法在构建时清理我的缓存。如何解决这个问题?

执行器:外壳

Fetching changes...
warning: failed to remove config/__pycache__/__init__.cpython-36.pyc
warning: failed to remove config/settings/__pycache__/local.cpython-36.pyc
warning: failed to remove config/settings/__pycache__/__init__.cpython-36.pyc
warning: failed to remove config/settings/__pycache__/common.cpython-36.pyc
warning: failed to remove config/settings/__pycache__/test.cpython-36.pyc
warning: failed to remove docs/__pycache__/__init__.cpython-36.pyc
Run Code Online (Sandbox Code Playgroud)

Gor*_*ran 3

幸运的是,我遇到了和你完全相同的问题(我认为)。

一点背景:

我使用 gitlab ci 来使用远程运行程序(shell)进行构建,该运行程序将构建 docker 映像,然后运行一些测试。

原因:

我通过传递 -v 标志来在容器内安装本地目录docker run(例如,还有其他方法可以使用 compose yml 来执行此操作)。

因为 docker 容器以 root 身份运行,所以生成的 __pycache__ 目录和文件由本地文件系统上的 root 拥有;这意味着 docker-runner 无权在下一个构建中删除它们。

解决方案:

删除挂载并复制文件。