JENKINS针对不同项目组对用户进行权限分配

>>> 目录

  • 权限需求

  • 前提说明

  • 功能实现

  • 功能验证

回到顶部

权限需求

因JENKINS上存有de(开发)、te(测试)、re(预发布)等三个不同环境的项目,同时因为项目需求,需要对不同的开发及测试人员配置不同的jenkins权限,即以项目为单位,对不同人员进行不同权限配置,要求如下:

1、项目都以healthcloud开头,分别以-de、-te、-re结尾,根据三类结尾可把项目分成开发、测试、预发布三类项目,同时分别对应不同的项目需求人员;

2、开发人员登录jenkins只能查看并构建de项目;

3、测试人员登录jenkins只能查看并构建te项目;

4、re账号提供给所有人,只具有查看所有项目的权限,便于技术人员排查问题。

说明:

1、此文创建test和re账号,对其进行权限分配并图文说明,其他需求可按部就班!

2、此文的截图中可能涵盖其它需求配置,此处请重视截图的红框标记即可,其他配置可忽略!

回到顶部

前提说明

要实现权限需求,需先确保jenkins的权限插件已安装,插件名:Role-Based Strategy或者Role-based Authorization Strategy

回到顶部

功能实现

用管理员账号登陆Jenkins;

系统管理à管理用户à新建用户à创建test和re用户;

JENKINS针对不同项目组对用户进行权限分配_第1张图片
img

系统管理à全局安全配置,选择授权策略;

JENKINS针对不同项目组对用户进行权限分配_第2张图片
img

系统管理àManage and Assign Roles,配置权限策略;

JENKINS针对不同项目组对用户进行权限分配_第3张图片
img

选择Manage Roles,分别进行Global roles、Project roles权限配置;

注:必须先进行Global roles的配置后方可对Project roles进行配置,可以理解为先配置整体性权限,再按项目分权限,遵守从大到小权限控制的原则!

JENKINS针对不同项目组对用户进行权限分配_第4张图片
img

配置Global roles的builder和reader权限;

JENKINS针对不同项目组对用户进行权限分配_第5张图片
img

配置Project roles,根据正则匹配对不同用户分配不同项目的不同权限(此处框内意义是角色te-all具有所有te结尾的项目的构建权限);

JENKINS针对不同项目组对用户进行权限分配_第6张图片
img

配置Assign Roles;

JENKINS针对不同项目组对用户进行权限分配_第7张图片
img

配置re账号的全局可读权限和test账号的全局构建权限;

JENKINS针对不同项目组对用户进行权限分配_第8张图片
img

此时test具有全局的构建权限,现需针对项目对其划分仅有指定测试环境的项目构建权限,即缩小权限,添加约束;

JENKINS针对不同项目组对用户进行权限分配_第9张图片
img

回到顶部

功能验证

管理员账号(kazihuo)登录,显示所有项目的所有权限;

JENKINS针对不同项目组对用户进行权限分配_第10张图片
img

test账号登录,只显示所有以te结尾的项目,同时具有构建权限;

JENKINS针对不同项目组对用户进行权限分配_第11张图片
img

re账号登陆,只具有所有项目的查看权限(可看到项目右侧的构建按钮消失);

你可能感兴趣的:(JENKINS针对不同项目组对用户进行权限分配)