生成文件夹和共享卷的权限

时间:2021-01-04 21:02:18

标签: docker jenkins

我已经构建了一个 Docker 镜像并上传到内部注册表。 在 Jenkins 上,我拉取映像并使用 root 用户 (-u root) 运行容器。我还从 ${workspace} 在容器内,我在安装的共享文件夹内运行 pytest。这会生成临时 __pycache__ 文件夹以及 pytest 的报告。 但是这些临时文件夹和报告是由 root 用户生成的。

因此,由于对临时文件夹和报告文件的权限不足,Jenkins 无法对工作区运行清理。

我试图在图像本身内创建一个 (jenkins) 用户,但是当 jenkins 用户作为参数 (-u jenkinsuser) 传递时,jenkins 无法运行容器

我还尝试在测试后 chown 文件夹,以便我可以将特定用户和组设置到文件夹,但如果在运行期间测试失败,则永远不会运行。

期待专家就如何规避生成文件夹的权限问题提供指导。

这里是 jenkins 内部脚本代码的粗略代码

docker.withRegistry("<server>", "<svc_id>") {
   docker.image('<image_name>').inside('-u root --rm -e <proxy> -e <proxy> --name <mount_name> --mount source=${workspace},target=/app,type=bind') { c ->
                                sh 'echo "Inside container" '
  }
}

0 个答案:

没有答案