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

时间:2017-02-21 09:07:30

标签: python django docker gitlab docker-compose

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

2 个答案:

答案 0 :(得分:1)

幸运的是,我遇到了和你一样的问题(我认为)。

一点背景:

  

我正在使用gitlab ci来构建使用远程运行器(shell)   将构建一个docker镜像然后运行一些测试。

<强>原因:

  

我通过将-v标志传递给docker run来在容器中挂载一个本地目录(例如,还有其他方法可以使用compose yml)。

     

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

解决方案:

  

删除装载并复制文件。

答案 1 :(得分:0)

我的解决方法是不要让python创建*.pyc文件

https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE