我的 CI 作业以 root 身份创建 __pycache__,下次运行时无法清理工作区

ken*_*eho 7 python python-3.x jenkins

我的 Jenkins CI 工作从 Git 检出一个 Python 项目,构建应用程序,运行一些测试,然后将应用程序部署到服务器。

通常,我设置 CI 作业以在每次运行之间擦除工作区。

不知何故,工作区现在包含一个由 root 拥有的 __pycache__ 文件夹。我不知道 root 是如何设置为所有者的(具有 755 权限),但无论如何我都无法擦除工作区。我不确定 Jenkins 和 Python 如何在第一种情况下使文件由 root 拥有,但还没有研究这个,但猜测这是一个合乎逻辑的解释。

其他 Python 人员如何处理这个问题?有没有办法让这个文件夹归运行 Jenkins 的用户所有,以便 Jenkins 可以擦除工作区?

编辑:我应该提到我在 Docker 容器中运行 Python 应用程序。

ken*_*eho 1

通过确保 docker 容器内的用户与我的主机用户具有相同的 UID/GID 找到了解决方案/解决方法,如下所示: https: //medium.com/redbubble/running-a-docker-container-as-a -非root用户-7d2e00f8ee15