由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Strategy Plugin插件。
Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将测试和生产环境分开。
具体的配置方式如下:(操作需要管理员用户权限)
1、插件安装
插件名称:Role-based Authorization Strategy
安装过程:可参考我上一篇博客点击打开链接
安装成功后在插件管理已安装插件可以查看到:
2、选择权限策略
进入系统设置->Configure Global Security->Role-Based Strategy->保存
前提需保证插件安装成功,否则看不到Role-Based Strategy这个策略
3、点击系统管理–>Manage and Assign Roles进入角色管理页面
进入角色管理页面将会看到:
4、点击选择Manager Roles进行角色配置
(1)全局角色配置
添加一个test角色并进行授权:
(2)项目角色配置:
通过下图可以看出我添加了两个项目角色:dev和test。dev用于管理开发环境的项目,test用于管理测试环境的项目。
特别注意:
1)区分全局角色和项目角色
2)对构建的项目名称进行匹配,可以使用正则表达式
3)project roles中Pattern正则表达式跟脚本里的不一样,比如过滤TEST开头的jobs,要写成TEST.* 而不是TEST*,切记,参考图中Pattern表达式
5、分配角色
进入系统设置–>Manage and Assign Roles->Assign Roles
在全局角色中添加普通用户,并授权新添加的test角色,保证可以正常登录jenkins。
在项目角色中添加普通用户,并根据实际情况将他们添加到项目角色中,这样不同的用户就可以对不同的项目进行管理。
6、效果验证
使用不同的角色登录系统,显示的权限不同