Jenkins 权限分配相关
前言
日常工作当中,想区分Jenkins发布环境,但又嫌维护起来麻烦。
就考虑到是不是可以只要一个Jenkins,通过权限等来控制发布环境。
例如 开发可以在Jenkins上看到并发布dev test环境,test只可以看到并发布test环境,运维则都可以看到并发布dev test online 环境。
通过用户权限可以看到,发布者是谁。
即使出了问题也可以追溯。由此就发现了Jenkins插件: Role Strategy Plugin(插件名可能会更新)
安装Jenkins
之前已经写过该文档,就不在阐述了。
Jenkins的安装文档
安装插件
管理Jenkins - 插件管理 - 可选插件中搜Role Strategy Plugin 搜不到,就直接搜Role,勾选上后直接安装。
启用插件
管理Jenkins - Configure Global Security - 授权策略中单选框中选择 -Role-Based Strategy - 保存
管理插件
管理Jenkins - 未分类(Uncategorized) -Manage and Assgin Roles
Manage Roles
选择该项可以创建全局角色、项目角色,并可以为角色分配权限
Global roles
创建job_read组,分配Over all的read权限
Item role
Pattern是过滤项目的模板
创建Dev规则:Patterm为Dev.*
使用正则表达式,意为在Dev组中的成员,对视图为Dev开头的都有相应设置的权限。
创建Testers规则:Patterm为Test.*
使用正则表达式,意为在Testers组中的成员,对视图为Test开头的都有相应设置的权限。
创建用户
为了更好的分配权限,先创建用户dev,test,命名别名为开发组,测试组。
管理Jenkins-Manage Users-新建用户
创建项目
为了更直观的查看分配权限的结果,先创建几个项目进行测试
Dev_Supermarket
Online_supermarket
Test208_supermakrt
Test208_supermarket_frontend_locked
Test208_supermarket_h5
Assign Roles
回到管理Jenkins - 未分类(Uncategorized) -Manage and Assgin Roles
将dev,test组添加至创建的各个权限组上。
完成后保存。
验证
dev用户
切换到dev用户进行查看
test用户
切换到test用户进行查看
admin用户
切换到admin用户进行查看