1) 安装插件Role-based Authorization Strategy

jenkins 用户管理 仅下载 jenkins 角色权限管理_用户登陆

2)进行用户角色管理

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_02


jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_03


在公司里,用户的权限设置比较严格,一般都是管理员来创建用户,而不是谁都可以注册用户,这个地方一般不勾,这个表示允许用户注册

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_04


授权策略这里选择基于角色进行授权,选择完之后主菜单会多出来一个Manage and Assign Roles,我们回到主菜单,点击它

jenkins 用户管理 仅下载 jenkins 角色权限管理_正则_05


jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_06


这三个分别是管理角色,授权角色,角色策略宏,我们点进去第一个,进入管理角色来看一下

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_07


这里的global roles是全局配置,在它下边还有一个项目配置,我们待会再说。添加一个usera的角色,只给读的权限,我们在进入分配角色页面

jenkins 用户管理 仅下载 jenkins 角色权限管理_用户登陆_08


jenkins 用户管理 仅下载 jenkins 角色权限管理_正则_09


这里添加usera用户并赋予user的权限,这样usera用户只能读用userb登陆一下

jenkins 用户管理 仅下载 jenkins 角色权限管理_权限设置_10


jenkins 用户管理 仅下载 jenkins 角色权限管理_正则_11


发现没有构建代码的权限如果把刚才勾选的usera角色去掉,那么userb用户登陆之后什么也看不到,如下图

jenkins 用户管理 仅下载 jenkins 角色权限管理_权限设置_12

3)项目配置

jenkins 用户管理 仅下载 jenkins 角色权限管理_权限设置_13


jenkins 用户管理 仅下载 jenkins 角色权限管理_用户登陆_14


jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_15


team1表示添加的角色,pattern表示匹配样式,可以使用正则,这里的test-.* 表示test-开头的任务,team1都可以管理 此处可以用其他的表示,如:testA|testB|testC 表示或的关系,其实是指的三者

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_16


jenkins 用户管理 仅下载 jenkins 角色权限管理_正则_17


jenkins 用户管理 仅下载 jenkins 角色权限管理_权限设置_18


jenkins 用户管理 仅下载 jenkins 角色权限管理_用户登陆_19


添加userb并赋予team1的权限

4)新建任务来测试一下

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_20


创建完之后直接保存,然后登陆userb用户

jenkins 用户管理 仅下载 jenkins 角色权限管理_权限设置_21


可以看到,userb登陆之后可以看到两个任务,我们逐个点进去查看

jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_22


jenkins 用户管理 仅下载 jenkins 角色权限管理_jenkins 用户管理 仅下载_23


sayhello任务只能看,而test-A任务可以配置和构建