0
点赞
收藏
分享

微信扫一扫

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分


Jenkins 集成Role-based Authorization Strategy插件实现企业级权限管理

文章目录

  • ​​一、Jenkins权限简介:​​
  • ​​二、Role-based 插件下载和启用​​
  • ​​2.1. 下载安装​​
  • ​​2.2. Jenkins 启用Role-Based Strategy​​
  • ​​三、实战案例演示:​​
  • ​​3.1. 新建用户​​
  • ​​3.2. 创建角色​​
  • ​​3.2.1. 创建一个全局角色user,赋予读(Read)的权限​​
  • ​​3.2.2. 不同的项目,创建不同的角色​​
  • ​​3.3. 分配角色​​
  • ​​四、创建视图​​
  • ​​4.1. 创建a项目视图​​
  • ​​4.2. 在视图筛选a项目​​
  • ​​4.3. 同理创建b项目视图​​
  • ​​4.4. 在b的视图中筛选项目​​
  • ​​4.5. 接下来在视图中创建5个项目(任务=项目)​​
  • ​​五、用户admin管理员账号创建项目​​
  • ​​5.1.【新建Item】创建a_1项目​​
  • ​​5.2.【新建Item】创建a_2项目​​
  • ​​5.3.【新建Item】创建b_1项目​​
  • ​​5.4.【新建Item】创建b_2项目​​
  • ​​5.5.【新建Item】创建b_3项目​​
  • ​​六、登录验证​​
  • ​​6.1. testa用户登录测试:​​
  • ​​6.2. admina用户登录测试:​​
  • ​​6.3. testb用户登录测试:​​
  • ​​6.4. admina用户登录测试:​​

一、Jenkins权限简介:

Jenkins权限的划分是基于角色的。
简言之就是:一个角色可以控制或者有权利对某些菜单的可执行权或者读的权限(权限=资源);

举个栗子:
现在有2个角色,分别是技术测试人员、管理员

用户->角色->菜单
该用户属于那个角色,角色控制着那几个菜单

技术测试人员下面可以有多个用户,JStest1、JStest2
管理员下面可以有多个用户,admin1、admin2

技术测试人员,只能构建项目
管理员,可以构建项目又可以对项目进行配置编辑

二、Role-based 插件下载和启用

Role-based Authorization Strategy插件。下载安装和jenkins中启用此插件

2.1. 下载安装

【系统管理】-【管理插件】-【可选插件】-输入【Role-based】进行搜索-【直接安装】Role-based Authorization Strategy插件,可以实现角色对用户的管理。

英文版本:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理


翻译版本:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_02

2.2. Jenkins 启用Role-Based Strategy

  • 安装完成后,配置Jenkins权限应用或者启动Role-Based Strategy(授权策略)。
  • 流程:点击【首页】的【系统管理】-【全局安装配置】-【授权策略】-选择(Role-Based Strategy),保存刷新
    即可。在右侧菜单中就会出现【管理用户】这一菜单。
  • 企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_03

  • 英文版本:
  • 企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_04

  • 翻译版本:
  • 企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_05


  • 企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_06

三、实战案例演示:

需求:
实现不同角色下不同用户对不同项目的权限是不一样的。

实现思路:
1、创建4个用户分别为admina、testa、adminb、testb
2、创建4个角色admina、testa、adminb、testb
3、分配角色:admina用户属于admina角色;testa用户属于testa角色;
adminb用户属于adminb角色;testb用户属于testb角色
4、给不同角色分配不同菜单权限
5、新建2个视图
6、在2个视图下面分别创建5个项目
注:一个角色下面可以有多个用户

3.1. 新建用户

  • 新建4个用户,分别为admina、testa、adminb、testb
    【系统管理】-【管理用户】-【新建用户】依次创建以下4个用户。

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_07


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_08

3.2. 创建角色

【系统管理】-【Manage and Assign Roles】-【Manage Roles】

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_09

3.2.1. 创建一个全局角色user,赋予读(Read)的权限

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_10

3.2.2. 不同的项目,创建不同的角色

针对不同的项目,创建不同的角色,分别创建admina、testa、adminb、testb;4个角色,这4个角色分别控制不同项目的不同菜单权限。

执行步骤有2点,

角色名称和不同项目的区配,可以采取正则表达式。
例如:
a项目都是以a开头或者结尾,就可以使用a.*,或者*.a来表示,其他项目同上,找到每个项目不同的项目名称特点,来区分即可。

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_11


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_12

3.3. 分配角色

到目前为止:
4个用户创建完成,4个角色创建完成,用户和角色尚未进行关联,接下来,给要不过户赋予不同的角色,来控制项目。

【系统管理】-【Manage and Assign Roles】-【Assign Roles】

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_13

分别为刚创建的4个人角色添加和指定到全局角色

命令

说明

admin用户

指定全局角色为admin

admina用户

指定全局角色为admina

testa用户

指定全局角色为testa

adminb用户

指定全局角色为adminb

testb用户

指定全局角色为testb

执行步骤先添加,在指定全局角色

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_14

竖着用户,横着为角色

用户分别为:

admina、testa、adminb、testb、匿名用户

角色分别为:

admina、testa、adminb、testb;4个角色

这样配置后,用户和角色就绑定好了

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_15

四、创建视图

4.1. 创建a项目视图

  • 【新建视图】-输入【项目视图名称】-选择【List View】-【确定】
  • 企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_16

4.2. 在视图筛选a项目

【任务过滤器】选择【使用正则表达式在视图中显示任务】-输入【正则表达式】点击【保存】即可

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_17

4.3. 同理创建b项目视图

【新建视图】-输入【项目视图名称】-选择【List View】-确定

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_18

4.4. 在b的视图中筛选项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_19

4.5. 接下来在视图中创建5个项目(任务=项目)

五、用户admin管理员账号创建项目

创建5个任务,分别a_1,a_2,b_1,b_2,b_3,其中a项目有2个任务,b项目有4个任务;

5.1.【新建Item】创建a_1项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_20

5.2.【新建Item】创建a_2项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_21

5.3.【新建Item】创建b_1项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_22

5.4.【新建Item】创建b_2项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_23

5.5.【新建Item】创建b_3项目

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_sed_24

六、登录验证

分别使用admina、testa、adminb、testb进行登陆验证

6.1. testa用户登录测试:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_系统管理_25


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_26

  • 点击任务名称进入

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_27

  • 只能构建项目,其他无操作权限

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_28

6.2. admina用户登录测试:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_29


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_30

  • 点击任务名称进入

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_31

  • 可见权限比testa多了很多

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_32

6.3. testb用户登录测试:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_33


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_34


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_35

6.4. admina用户登录测试:

企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_Jenkins_36


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_37


企业实战(Jenkins+GitLab+SonarQube)_11_Jenkins权限的划分_用户登录_38


举报

相关推荐

jenkins配置sonarqube

0 条评论