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

标签 python python-3.x jenkins

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

通常,我会设置我的 CI 作业以在每次运行之间删除工作空间。

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

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

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

最佳答案

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

关于python - 我的 CI 作业以 root 身份创建 __pycache__,无法在下次运行时清理工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52580695/

相关文章:

python-3.x - 按降序对两列最频繁的组合进行排序

python - 在 Python 3.2 中并行执行 for 循环

python - 如何在 python 中使用 pygatt 从 BLE 设备获取通知?

Jenkins 管道,将分支名称传递给 gradle build

git - 如何与 Jenkins 持续集成管理数据库

python - 具有每个环境配置的 web2py

python - python中的&是什么意思

python - 使用 MRMR 进行特征选择

python - 如何用现有字典填充架子

ios - 通过 Jenkins 上传 iOS .ipa 文件到 testflight