Gitlab无法清除我在构建时的缓存。如何解决这个问题?
执行器: shell
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
发布于 2017-09-28 04:38:23
幸运的是,我遇到了和你(我认为)完全相同的问题。
小背景:
我使用gitlab ci来构建,使用的是一个远程运行器(
),它将构建一个docker镜像,然后运行一些测试。
原因:
通过将-v标志传递给docker run
,
我在容器中挂载了一个本地目录(例如,使用compose yml还有其他方法可以做到这一点)。
因为docker容器是以根用户身份运行的,所以生成的__pycache__目录和文件属于本地文件系统上的根用户;这意味着docker-runner没有权限在下一次构建时删除它们。
解决方案:
删除装载并复制文件。
发布于 2019-01-25 13:13:49
我通过不让python创建*.pyc
文件来解决这个问题
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE
https://stackoverflow.com/questions/42362949
复制相似问题