Jenkins设置用户显示不同的视图
jenkins版本:2.138在使用jenkins过程中,需要控制用户的权限,比如:开发用户登录只能查看到开发环境和测试环境相关的Job,生产发布账户只能查看生产相关的Job。前后倒腾两三次了,网上有很多文档,但是总遇到坑。趁着还记得,赶紧整理一下,记录下来。1.安装权限管理插件需要使用Role-based Authorization Strategy插件,安装步骤如下:登录jenkin...
jenkins版本:2.138
在使用jenkins过程中,需要控制用户的权限,比如:开发用户登录只能查看到开发环境和测试环境相关的Job,生产发布账户只能查看生产相关的Job。
前后倒腾两三次了,网上有很多文档,但是总遇到坑。趁着还记得,赶紧整理一下,记录下来。
1.安装权限管理插件
需要使用Role-based Authorization Strategy插件,安装步骤如下:
登录jenkins,选择【系统管理】–》【插件管理】–》可选插件 搜索到以后选中安装即可。
安装好以后重启jenkins。
2.设置权限
菜单–【系统管理】—》【Manage and Assign Roles】
打开以后会有三个选项:
Manage Roles #可以理解为是用来编辑权限的
Assign Roles #用来管理用户权限的,可以理解为把编辑好的权限给用户使用
Role Strategy Macros 角色策略宏,没有用到
Manage Roles 管理角色
编辑全局用户权限 Global roles
必须创建一个admin角色,把所有的权限都给他。
添加user角色,分配Overall(全部)的Read权限、Job(任务)的Build、Workspace权限
编辑项目权限
添加项目组,分配Job的Build、Read权限。可根据需要自己调整权限范围。
使用通配符配置,可保证后面添加项目时,只要按照设定的前缀作为项目名,则可以按照设定的权限显示给授权后的用户。 pattern为正则表达式,语法即为java正则表达式语法。
通配符:“uat.|UAT.”
意思为: 以uat开头或者UAT开头的所有
举例:
group_dev组对应的项目以dev开头,后面用户创建项目job时必须以dev开头,否则对应的授权用户无法看到项目。
需要注意的是 这里的模糊匹配的时候不能写成 “*” 要写 “.*” ,这样的话这个group_dev项目组就拥有了查看所有dev开头的项目的权限.
编辑好以后点击页面最后保存或应用即可。
Assign Roles 分配角色
全局角色,指定用户有那个用户组权限,为开发人员使用的账户赋予user角色。
Item roles ,指定用户有那个项目组权限
对于开发人员,设置group_dev 和group_uat权限。这样,开发用户可以看到dev和uat两个组的项目。
3.添加视图(重要)
网上看到文章中都未提及此步骤,这个坑让我试了好久才发现。
在管理账户中,点击标签栏“+”号添加新视图。需要注意视图名大小写要与通配符一致。
根据之前添加项目角色时通配符配置的前缀创建视图。一定要选择列表视图。
4.登录查看
使用开发人员账户登录系统可以看到设置好的视图
由于没有生产权限,所以视图生产中只是空
更多推荐
所有评论(0)