jenkins - 将安全上下文传递给 Jenkins-Kubernetes 插件

标签 jenkins kubernetes jnlp

我为 jenkins/jnlp 创建了一个 docker 镜像,并在 kubernetes 集群中使用它来启动动态从属。有了这个,我就可以检查我的代码并在动态从服务器上运行构建。

但是,当我在插件配置中提到 volume(jenkins_home ie/mycom/jenkins) 作为 NAS 持久卷声明时,我观察到挂载路径权限正在更改为“nobody”而不是“jenkins”。这使我的 jenkins 构建失败,因为它无法在同一文件夹下创建工作区。

Kubernetes 文档指出,我们可以将 fsgroup 详细信息作为安全上下文的一部分传递,而安全上下文是 pod 定义的一部分。但是我在 jenkins-kubernetes plugin 中没有看到该选项。有什么方法可以将“RunAsUser”或“fsgroup”详细信息从 jenkins 传递给 pod?

最佳答案

我得到的解决方法是在 Kubernetes 主机的一个 pod 中提供对 JENKINS_HOME 的“777”访问权限。这也存在于所有其他创建的 pod 中。这样,每次我的容器与 jenkins user 一起运行时,它都能够在没有用户访问的 jenkins_home 目录中创建工作区。

关于jenkins - 将安全上下文传递给 Jenkins-Kubernetes 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48533779/

相关文章:

linux - centos安装jenkins时出现403禁止异常

git - 如何在 Jenkins 中构建最新的 git flow 发布分支?

jenkins - 没有 pom.xml 的 Jenkins 的加特林插件

java - 在 Allure [Java - Selenium] 中添加截图

kubernetes - Google Kubernetes Engine 上的 Gitlab 服务器邮件配置

node.js - 如何解决错误 : Cannot find module 'react-dev-utils/chalk' when running on kubernetes?

java - 设置命令行 Java 错误日志?

Java安全警告

kubernetes - Prometheus 未从 GKE 中的 cadvisor 接收指标

java - 使用 Eclipse 调试 jnlp 应用程序