根据不同的部门分配不同的角色,角色成员只能看到自己部门视图内部的jenkins job
Jenkins版本:2.249
因安装了中文包的原因,语言大多以中文的方式显示,但不影响配置使用
Jenkins要想以视图分配权限,需要注意一个规范:在创建视图时以项目的缩写命名再加上项目的具体名称,例如:dev_boss,dev就是项目的整体名称,boss就是其中的一个模块,这样一来我们做权限分配时,以dev开头就能匹配到所有dev的项目并且在一个视图中显示
1.安装权限管理插件
Manage Jenkins -> Manage Plugins 选择安装Role-based Authorization Strategy插件
安装成功
将授权策略设置为 Role-Based Strategy
设置完成后即可在security中看到Manage and Assign Roles
2.创建2个不同的账号及job视图
新建视图,以test1视图为例,test2一致
指定任务到该视图
新建用户,以test1为例,test2配置一致
点击系统管理—管理用户—新建用户
用户和视图均已创建完毕
3.创建Jenkins角色
Jenkins两种角色的说明:
Global roles:全局角色,主要用于配置用户的功能权限
Item roles:项目角色,主要管理项目的权限
点击系统管理—Manage and Assign Roles
点击Manage Roles
3.1.创建全局角色
在role to add中填写角色的名称,然后勾选对应的权限即可
**注意:**job权限这里只选择一个create即可,不要勾选read否则所有项目都可以查看到,如果希望用户都看到项目但是不能操作也可以勾选read
3.2.创建项目角色
项目角色主要是用户对项目有什么权限,可以给所有权限
在创建项目角色的时候,Pattern所填的内容是正则匹配
test1.*表示以test1开头的项目,test.*|Test.*表示以test或Test开头的项目
全局角色和项目角色添加完后要点击下面的save进行保存
4.将角色分配给用户
角色是用来决定用户有什么权限,因此需要和用户进行绑定
点击Assign Roles
在 User/group to add 输入用户的名称点击add即可添加用户,然后根据不同的用户勾选不同的角色对应,全局角色和项目角色都需要添加,最后点击保存
5.验证用户权限
test1用户登录
直接看all即可,可以看到只有test1开头的项目能被看到,所有视图都在这里显示,但是只能看到test1开头的项目
test2用户登录
直接看all即可,可以看到只有test2开头的项目能被看到,所有视图都在这里显示,但是只能看到test2开头的项目
其他视图的job无法查看