随着公司项目的增加,慢慢jenkins上面的项目也会越来越多,怎么让相应的开发只看到自己对应的项目,在jenkins中就需要进行角色控制。
一、下载插件
在jenkins中角色控制也需要相应的插件进行,我们首先需要下载插件Role-based Strategy。
直接安装就好了
二、启用角色控制
在下载好插件后,需要在管理中找到安全
在安全中将授权策略改成Role-based Authorization Strategy,就是基于角色去进行控制
在启用后,在管理中就可以找到另一把小黄锁就是管理和分配角色
我们需要点击它来进行权限的分配
三、项目分配
在进行权限分配之前,为了更加直观的了解,我先准备一些项目,并通过不同的视图进行管理
简单的已a和b两个项目进行管理
并通过视图,将a、b区分开来
那么怎么让开发用户只看到自己项目的测试项目,一般线上版本是不让开发人员看到的,只需要让a的开发人员看到a的测试项目,看不到线上项目,同时也不能看到b项目,这时就需要对权限进行分配了。
当然在生产中也是前后端分开的,前端开发人员看到自己的前端项目,后端看到自己的后端项目,更加区分开来,这里就不细说了,方法都是差不多的
四、权限分配
权限分配主要有三点,分为管理角色、分配角色和角色策略宏,其中最后一个是帮助参考,我们只需要对前两项进行配置就好。
1.管理角色
这里是最高权限的一个权限管理,配置某个用户的权限,类似于gitlab中的master和developer
首先建立一个开发角色devlop,这里需要给开发read的权限是他全局可读
2.项目角色
在配置好管理角色后,就可以对项目角色进行划分
项目角色可以通过正则表达式,来达到给不同项目分配不同权限的作用
这里b.*test 表示以b开头,以test结尾的项目
现在插件 允许点击正则表达式来查看这个表达式中可以看到的项目,比如现在的b.*test能看到的就是图上这两个项目。
3.分配角色
在建立好管理角色和项目角色后,进行保存,就可以分配角色,进行管理了。
在分配角色前首先要创建用户,可以让管理员在用户管理直接进行创建,也可以开放注册权限,让公司的小伙伴自己创建
这里就不多说了,我先准备好了xiaoxing和daxing两个用户
首先在global roles对用户进行赋权,让用户具有开发的权限
然后再根据不用的项目进行不同的权限划分,例如xiaoxing负责a项目,daxing负责b项目
分配好了保存退出
五、验证
在配置好了,当然要去看看我们的配置有没有生效,登录两个用户进行查看
登录xiaoxing用户
只能看到a项目中的测试项目,构建也是没有问题的
登录daxing用户
也是只能看到b项目的测试项目,看不到其他项目