Jenkins进阶系列之——14配置Jenkins用户和权限

本文深入探讨了如何配置Jenkins的专有用户数据库,包括用户注册流程和权限设置方法。详细解释了如何通过系统管理界面进行权限配置,包括各个权限的作用与区别,以及如何在Job中进一步配置项目安全。此外,提供了实用的小技巧,帮助开发者高效地管理和控制Jenkins的访问权限。
[+]

今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置。

配置用户注册

 

在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Security进入如下界面:

 

 

设置如上图,保存后系统管理中就出现管理用户的选项。页面右上角也会出现登录/注册的选项。

点击注册:

点击sign up按钮,提示你现在已经登录.

 

配置用户权限

点击左侧的系统管理—>Configure Global Security 

选择授权策略中的安全矩阵或者项目矩阵授权策略

说明:安全矩阵项目矩阵授权策略的配置是一模一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。

添加用户到矩阵中,如下图。

 

各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):

Overall(全局) Credentials(凭证) Slave(节点) Job(任务) View(视图)
Administer Read RunScripts UploadPlugins ConfigureUpdateCenter Create Update View Delete ManageDomains Configure Delete Create Disconnect Connect Build Create Delete Configure Read Discover Build Workspace Cancel Create Delete Configure Read
管理员(最大) 阅读 运行脚本 升级插件 配置升级中心 创建 更新 查看 删除 管理域 配置 删除 创建 断开连接 连接 构建 创建 删除 配置 阅读 重定向 构建 查看工作区 取消构建 创建 删除 配置 阅读

其中有一些比较特别的权限:

最大的权限是Overall的Administer,拥有该权限可以干任何事情。

最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。

Job的Discover权限是一个奇葩的权限,帮助说Discover比Read的级别更低。如果匿名用户(没有访问job的权限)直接访问一个Job的Url将重定向到登陆页面。(经测试,这个权限应该是被废弃了。)

Credentials的ManageDomains这个权限没有看懂干嘛的,有懂的大家一起交流哈!

 

ps:如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限。

 

其他都是一些基本的权限,大家根据自己的需求选择。

 

小技巧:

每个用户后都有1-2个图标,第一个是反选功能(删除当前已选择的权限,选择其他所有权限),第二个是删除功能(删除该用户)

 

 

在Job中配置项目安全,如下图:

 


转:http://www.cnblogs.com/zz0412/p/jenkins_jj_14.html  点击打开链接

<think> 嗯,用户这次在查找jenkins maven-pvc.yaml配置文件的相关信息。从对话历史看,用户之前提供的引用材料主要涉及jenkins-pvc.yamlk8s部署jenkins配置,但用户现在明确要的是maven相关的PVC配置用户可能是正在搭建Jenkins的Maven构建环境,需要为Maven仓库配置持久化存储。ta引用的三个资料里都没有直接出现maven-pvc.yaml这个文件名,但引用[1]展示了jenkins-data-pvc的配置范式,引用[2]提到了maven环境安装步骤,引用[3]涉及k8s暴露jenkins服务的方法——这些可以整合起来推导maven-pvc的配置要点。 需要特别注意用户上次问题中强调的“手撕yaml”这个关键点,说明ta更关注原生k8s配置而非helm chart等封装方案。考虑到Maven仓库的特性,PVC应该配置为ReadWriteMany访问模式,这点要重点突出。另外用户引用[3]提到NodePort,暗示集群可能使用裸金属方案,所以storageClassName要适配用户实际的存储方案。 在准备示例配置时,决定保留jenkins-pvc.yaml的命名逻辑但改为maven前缀,requests部分维持5Gi但标注可扩容。补充注解时特别说明accessModes的选择依据,因为这是容易出错的点。最后关联到PersistentVolume的配置提醒很重要——很多用户只配PVC却忘了PV。 用户连续询问k8s配置问题,可能是运维工程师正在搭建CI/CD流水线。ta的提问很精准,说明对k8s已有基础认知,但可能缺乏Jenkins与k8s集成的实战经验。下次可以预判ta会问Jenkins Agent的动态配置问题。 </think> 根据您提供的引用信息典型Jenkins在Kubernetes中的部署实践,**`jenkins-maven-pvc.yaml`** 配置文件通常用于为Maven仓库提供持久化存储。以下是标准配置参考关键说明: --- ### **典型 `jenkins-maven-pvc.yaml` 配置** ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jenkins-maven-pvc # PVC名称,需与Deployment挂载名一致 namespace: jenkins # 建议指定命名空间 spec: accessModes: - ReadWriteMany # Maven仓库需多节点读写(若存储支持) storageClassName: nfs-storage # 必须与集群中StorageClass匹配 resources: requests: storage: 10Gi # 根据实际需求调整存储大小 ``` --- ### **关键配置解析** 1. **访问模式 (`accessModes`)** - `ReadWriteMany`:确保多个Jenkins Agent Pod可并发读写Maven仓库(如使用NFS后端存储) - *若存储不支持RWX*:可改用 `ReadWriteOnce`,但会限制并行构建能力[^1] 2. **存储类 (`storageClassName`)** - 必须与Kubernetes集群中已配置的`StorageClass`名称匹配(例如引用[1]中的`nfs-storage`) - 通过命令验证:`kubectl get storageclass` 3. **挂载到Deployment** 在Jenkins Deployment中需声明挂载点(片段示例): ```yaml volumes: - name: maven-repo persistentVolumeClaim: claimName: jenkins-maven-pvc # 与PVC的metadata.name一致 containers: - name: jenkins volumeMounts: - mountPath: /root/.m2/repository # Maven默认仓库路径 name: maven-repo ``` --- ### **操作步骤** 1. **应用PVC配置** ```bash kubectl apply -f jenkins-maven-pvc.yaml -n jenkins kubectl get pvc -n jenkins # 验证状态为Bound ``` 2. **检查存储后端** - PVC需绑定到正确的PersistentVolume(PV),PV需提前创建或由StorageClass动态供给 - 动态存储需确保StorageClass配置正确(如NFS Provisioner)[^3] --- ### **常见问题排查** - **PVC一直处于Pending状态** ✅ 检查StorageClass是否存在:`kubectl get sc` ✅ 验证PV资源是否充足(动态供给需检查Provisioner日志) - **构建时无法写入Maven仓库** ✅ 确保挂载路径正确(通常为`/root/.m2/repository`) ✅ 检查Pod是否有读写权限(如NFS导出选项需配置`no_root_squash`) --- ### **进阶建议** - **共享存储选择**:生产环境建议用**NFS/CephFS**支持`ReadWriteMany`,避免单点瓶颈[^2] - **资源规划**:根据依赖库规模预留存储(建议≥10Gi,可动态扩容) - **缓存清理**:定期清理过期构件(可通过Jenkins Pipeline脚本自动化) > 注:若您的集群使用其他存储系统(如Rook/Ceph、Longhorn),需调整`storageClassName`并确保Provisioner正常运行[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值