随着Jenkins的使用深入,会发现需要给不同的用户配置不同的操作权限,虽然Jenkins
也自带用户权限管理,但比较简单,不支持用户组和项目的划分,因此需要第三方插件来实现更精细的权限管理,使用比较广泛的是Role-based Authorization Strategy
插件,可以满足所有关于用户和权限的管理需求。
安装
Jenkins插件管理中搜索Role-based Authorization Strategy
进行安装。
配置
1、创建Jenkins用户
Jenkins系统管理 -> 管理用户,先创建3个用户:cehua、dev、root,方便后面分配不同权限,如下图所示。
2、配置权限
Jenkins系统管理 -> Manage and Assign Role,如下图:
先点击 Manage Roles(管理角色),配置完成后如图所示:
- Global roles 是角色权限管理,图中分配了3种角色,权限从高到低依次是:admin、developer、anyone,后面勾选对应权限。
-
Item roles 是任务权限管理,即指定角色可以管理哪些任务。图中分配了两种任务权限,分别是 group_anyone、group_developer。
group_anyone
的pattern
为cehua.*
,代表 cehua 开头的任务对group_anyone
有效。
group_developer
的pattern
为cehua.*|dev.*
,代表 cehua 或 dev 开头的任务对group_developer
有效。
然后进入 Assign Roles(分配角色),即给用户指定什么角色,使它拥有相应的角色权限。配置完成后,如下图所示。
- Global roles
cehua 用户分配到 anyone 角色,代表它拥有 anyone 的角色权限。
dev 用户分配到 developer 角色,代表它拥有 developer 的角色权限。
root 用户分配到 admin 角色,代表它拥有 admin 的角色权限。 -
Item roles
给 cehua 勾选 group_anyone 权限,按前面配置,代表它能管理 cehua 开头的任务。
给 dev 勾选 group_developer 权限,按前面配置,代表它能管理 cehua 或 dev 开头的任务。
测试
重新用 cehua、dev、root 等不同用户名登录Jenkins,就可以看到或管理不同的任务了。