前几篇讲了一下有关Jenkins的一系列的操作:
在linux上搭建jenkins,并进行所需的配置
Jenkins安装插件一直失败,报错SunCertPathBuilderException的解决方案
jenkins配置拉取git远程仓库的代码并进行自动化构建部署
怎么修改Jenkins的默认工作路径,最简单高效的方式
Jenkins使用脚本快速批量删除历史构建记录
有需要的,可以点开上边的文章进行操作。
搭建Jenkins的过程中,它会让你输入创建一个账号(一般都是root),这个账号是拥有所有的操作权限的,但是实际工作中使用Jenkins的时候,不可能让所有人都登录这个超级管理员的账号,肯定是给不同的人分类不同的权限。
所以,今天接着来讲一下怎么给Jenkins配置用户权限
一、安装权限管理插件
点击系统管理Manage Jenkins,在点击插件管理Manage Plugins
点击 可选插件 ,在search框里输入 Role-based Authorization Strategy
最后点 下边的 Install without restart
等待它安装完成
如果你安装的Jenkins版本比较老旧的话,可能会出现类似下面截图里的错误,大概意思是 告诉你,你的Jenkins版本太低,当前安装的权限插件版本太高,总之就是jenkins版本和插件的版本不兼容
如果出现这个错误的话,点下边的地址,进去往下拉,选择一个比较早,版本比较低的权限插件我就下载了个2019年版本的
jenkins官方权限插件版本下载列表
点击对应的版本,会给下载一个 .hpi的文件
然后回到插件管理,点 高级,下边有个 上传插件,选择刚才下载的.hpi文件,最后点上传
此时,再点高级,再点左侧的 更新中心,进入更新中心看进入,发现刚才下载的插件已经安装成功了
二、开启Role权限
插件安装成功后,需要开启一下 Role-Based Strategy 权限
三、设置角色
开启了 Role-Based Strategy 权限后,系统管理里多了个 Manage and Assign Roles
点进去,点 Manage Roles
它有两个角色需要配置:一个是Global roles全局角色,另一个是Item roles项目角色
Global roles:
它默认有一个Global roles全局角色是admin
如下图,我又在全局角色里添加了两个全局角色:builder、reader,分别给他们勾选了对应的操作权限
Item roles:
Item roles里默认是空的,需要你去根据自己的需求添加
我是添加了两个项目角色:test-all和zhangsan
其中Pattern 可以是一个任务的名称,也可以是一个任务名称的匹配正则
test-all这个角色,我写的Pattern是任务名称的匹配正则, .*test 匹配所有以“test”结尾的任务
zhangsan这个角色,我写的Pattern是一个具体的任务名称
四、创建用户
角色创建好后,下面我去创建一个test用户和zhangsan用户 还有一个只能查看观察而不能进行操作的只读权限用户observer
五、给对应的用户分配角色
有了角色和几个用户后,下面开始按照自己的需求,给不同的用户分类不同的角色
如下图,在**User/group to add **里输入对应的用户名称,点右边的Add
然后给他勾上对应的角色
注意:出现下图所示的红色的 **No type prefix:xxx **这个是因为我的jenkins版本低,不需要管,没啥影响
我给root分配了全局的admin权限(所有权限)
给test分配了全局的builder权限(Build权限)和项目权限的test权限(只给他分配以test结尾的任务的权限)
给observer分配了全局的reader权限(Read只读权限)
给zhangsan分配了全局的builder权限(Build权限)和项目权限的zhangsan权限(只给他分配指定的那一个任务的权限)
最后点下边的应用
六、登录不同的账号,测试权限
好,都配置完成后,下面,咱们开始登录刚才创建的不同账号,进去看看对应的权限管理是不是生效了
先登录 root账号
可以看到root账号有所有操作的权限
再登录test账号
可以看到test账号,只有 test结尾的测试环境任务的查看和发布权限
再登录observer账号
可以看到 observer 这个账号,能查看所有任务的情况,但是它不能做任何操作,比如新建任务,发布构建等操作
再登录zhangsan账号
可以看到zhangsan这个账号,只有一个任务的权限,可以点击任务进去构建发布
ok,以上就是我自己总结记录的Jenkins配置用户权限的内容,希望对你有所帮助
版权归原作者 嗑嗑嗑瓜子的猫 所有, 如有侵权,请联系我们删除。