Hi,大家好。在上一篇Jenkins系列文章:Jenkins介绍及安装,主要介绍Jenkins简介、docker安装Jenkins及Jenkins配置。

在Jenkins做项目构建及持续集成过程中,我们需要考虑权限问题。比如不同项目组用户只能看到自己项目的任务,那如何实现用户权限管理呢,接下来我们详细介绍。

一、准备工作

为了测试权限控制,我们首先创建两个新的用户,后续会给这两个用户赋予权限。

①首页, 依次点击系统管理-全局安全配置。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享

 ② 勾选允许用户注册,然后点击保存。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_02

 ③ 退出当前登录,在登录首页点击创建一个用户账号。

docker部署的jenkins怎么查看密码 jenkins docker 权限_测试人生_03

④ 我分别创建了两个账号:ITesterA,ITesterB。

二、安装权限控制插件

Jenkins提供了多种权限控制插件,我们这里使用Role-based Authorization Strategy。

① 首页,依次点击系统管理-->插件管理。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_04

 ② 可选插件,搜索Role-based Authorization Strategy,勾选后下载插件。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享_05

③ 首页依次点击,系统管理->全局安全配置,授权策略选择 Role-Based Strategy。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享_06

 三、创建角色

① 首页,依次点击系统管理-->Manage and Assign Roles-->Manage Roles。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_07

② Global roles,用来分配全局策略,这里我们创建test_role,只有可读权限。

创建test_role角色

docker部署的jenkins怎么查看密码 jenkins docker 权限_测试人生_08

 test_role角色赋予全局可读权限。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享_09

③ Item roles,用来分配项目权限,比如ITesterA用户只能访问项目A,ITesterB用户只能访问项目B。

test_projectA角色只能看到以projectA-开头的视图与项目。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_10

test_projectB角色只能看到以projectB-开头的视图与项目。

docker部署的jenkins怎么查看密码 jenkins docker 权限_Python_11

温馨提示:设置完后,点击保存。

四、分配角色 

① 首页,依次点击系统管理-->Manage and Assign Roles-->Assign Roles。

② Global roles,分别添加我们一开始准备的两个账号并分配角色。

添加ITesterA、ITesterB用户。

docker部署的jenkins怎么查看密码 jenkins docker 权限_软件测试_12

为 ITesterA、ITesterB用户分配全局可读角色。

 

docker部署的jenkins怎么查看密码 jenkins docker 权限_Python_13

 ③ Item roles,添加ITesterA、ITesterB用户,并分配项目角色权限。

添加ITesterA、ITesterB用户。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_14

为 ITesterA、ITesterB用户分配不同项目权限。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享_15

 温馨提示:设置完后,点击保存。

五、验证权限

① 首页,新建任务,分别创建projectA-1,projectB-1两个任务。

docker部署的jenkins怎么查看密码 jenkins docker 权限_Python_16

 管理员账号,查看的任务如下:

docker部署的jenkins怎么查看密码 jenkins docker 权限_软件测试_17

② 接下来我们分别登录ITesterA用户、ITesterB用户,验证权限。

ITesterA用户登录后,只能看到projectA-1的任务。

docker部署的jenkins怎么查看密码 jenkins docker 权限_面试_18

 ITesterB用户登录后,只能看到projectB-1的任务。

docker部署的jenkins怎么查看密码 jenkins docker 权限_经验分享_19

 今天的Jenkins用户权限控制介绍到此,后续会继续介绍更多Jenkins系列文章,敬请持续关注。