环境
- MacOSX 10.12.6
- JDK 1.8.0_161
- Tomcat 8.5.28
目的
前三个教程完成了构建地址的访问,但我们肯定不希望每个人都有权限构建,于是就需要权限管理,这里用到了 Jenksin 插件 Role-based Authorization Strategy
需求如下
开发环境需要一个通用用户,需要对开发环境的所有项目拥有只读的权限
测试环境需要一个通用用户,需要对测试环境的所有项目拥有只读的权限
其他环境暂时不创建用户
系统用户:
-
dev:dev 环境所需用户
-
test:test 环境所需用户
jenkins 项目命名规则
-
开发环境:所有项目的名称均以 dev_开头(后续可以通过正则匹配来筛选)
-
测试环境:所有项目的名称均以 test_开头(后续可以通过正则匹配来筛选)
步骤
-
在 Jenkins 设置中安装插件 Role-based Authorization Strategy
-
进入 jenkins-> 全局安全配置修改授权策略为 Role-Based Strategy
- 进入 jenkins->Manage and Assigin Roles
- 配置 Manager Roles
- Global roles 用来分配全局策略,而 Project roles 用来分配项目权限
- 添加 dev_roles 和 test_roles
admin 为超级管理员,拥有所有全局权限
dev_roles 为 dev 环境用户,只可以看到全局 Overall 面板
test_roles 为 test 环境用户,只可以看到全局 Overall 面板
先说下,这里为什么要添加 dev_roles 和 test_roles 的 Overall 的 read 权限,如果不添加的话,这些普通用户登录到 jenkins 则会提示:用户没有 Overall/read 权限
- 接下来配置 Project roles 中的两个角色
- 配置 Assign roles
之前我们在 dev_roles 和 test_roles 中定义了 overall/read 权限,现在将用户和 roles 关联起来,这样 dev 和 test 用户就拥有了改权限
- 配置 Item roles
之前我们在 Project roles 中定义了 dev_roles 和 test_roles 规则,分别对应 dev_.和 test_.的项目及权限,在这里我们将用户和 roles 关联起来,这样对应的用户就拥有了对应 roles 的权限
注意,这里添加的 dev 对应的是 jenkins 用户名,切记切记!
推荐插件
name | 说明 | 版本号 |
---|---|---|
Active Choices Plug-in | 支持传递参数的 Choices 控件 | v2.1 |
Rebuilder | 快速重新构建 | v1.2.7 |
Role-based Authorization Strategy | 角色权限管理 | v2.6.1 |
Extended Choice Parameter Plug-In | 扩展 Choices 控件 | v0.76 |
Git Parameter Plug-In | Git 分支选择控件 | v0.9.1 |
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于