Jenkins 用户权限管理

Posted 成长中的大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins 用户权限管理相关的知识,希望对你有一定的参考价值。

在版本发布的由于大家的分工不同,所以想通过控制用户的账号达到权限管理,对每个角色进行权限控制,最初通过"项目矩阵授权策略"的策略对每个项目进行单一的权限控制,当时也满足了效果,随着项目越来越多,这种方式虽然可以满足,但是越来越麻烦操作起来比较笨重,所以考虑到使用第三方插件Role Strategy Plugin来解决问题。

 一、安装插件,Role Strategy Plugin

  1. 系统管理->插件管理-可选择插件中安装;

  2. 从wiki.jenkins.io网站下载hpi插件,通过上传插件进行安装;

注意:

安装完成插件以后,记住重新启动Jenkins,要不然插件无法生效,插件安装完成以后在【系统管理->Configure Global Security->授权策略-> Role-Based Strategy】检查是否包含插件Role-Based Strategy,存在则证明安装成功;

二、策略的配置

1.授权策略中选择" Role-Based Strategy",保存启用 Role-Based Strategy授权策略;

2.启用 Role-Based Strategy策略后,系统管理中会出现【Manage and Assign Roles】;

Jenkins 用户权限管理

    3.规划下我们需要用户,admin用户管理全局对Jenkins进行管理,tester 用户操作测试区域任务,ops用户操作生产区域任务,dev用户操作开发区域任务;

    4.根据我们的用户来规划角色;

全局角色划分:

    管理员角色:admin;

    只读角色:read;

    管理角色:manage;

Jenkins 用户权限管理

 

项目角色划分:

    开发角色:dev

    测试角色:test

    运维角色:ops

Jenkins 用户权限管理

注意:

添加项目角色时,需要制定匹配项目的模式,如上图中的Pattern,官方文档介绍该选项支持正则表达式,如"Roger-.";表示所有以Roger-开头的项目,"(?i)roger-.*";表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为"ABC|ABC.*";,也可以使用"abc|bcd|efg“直接匹配多个项目。

5.分配角色,Manage and Assign Roles,点击Assign Roles,分配之前首先需要我们把对应的用户创建完成;

Jenkins 用户权限管理

全局角色分配

Jenkins 用户权限管理

项目角色分配

  Jenkins 用户权限管理

保存分配结果。

三,检验分配的结果

1.dev 用户登录的效果,只有查看开发任务,具有构建和查看的权限;

视图效果:

Jenkins 用户权限管理

 

任务内部效果:

Jenkins 用户权限管理

 

2.tester登录后效果,只有查看测试任务,具有构建和查看的权限;

视图效果:

Jenkins 用户权限管理

任务内部效果:

Jenkins 用户权限管理

3.ops 用户登录的效果,可以对所有的job进行管理,具有构建和编辑、查看的权限;

视图效果:

任务内部效果:

这样就可以通过角色的管理对用户的权限进行控制,每个公司的情况不一致,所以大家可以根据自己的实际情况进行调整。

 

 

以上是关于Jenkins 用户权限管理的主要内容,如果未能解决你的问题,请参考以下文章

持续集成环境-Jenkins用户权限管理

Jenkins 用户角色权限管理

Jenkins 用户角色权限管理

Jenkins 用户角色权限管理

Jenkins 用户权限管理

04-Jenkins-用户和权限管理