首页 > 代码库 > Jenkins配置基于角色的项目权限管理

Jenkins配置基于角色的项目权限管理

安装Role-Based Strategy插件

技术分享

插件的官网文档

1、安装插件后,进入系统设置页面,配置如下:

技术分享


保存之后,再点击 系统管理页面点击Manage and Assign Roles进入角色管理页面:

技术分享


1、管理角色(Manage Roles) 
2、角色权限配置

技术分享


这里我们暂时回到系统管理 – 管理用户:

技术分享


点击新建用户:

技术分享


如果之前有项目与scm版本管理系统(如svn、Git等)连接并获取源码构建过,jenkins会从svn中读取到一些用户信息,可以在查看用户菜单中看到这些用户

技术分享

技术分享

点击相应的用户标识后,再点击 设置按钮,可以修改密码等个人信息。

之后我们再回到Manage and Assign Roles –> Manage Roles:

技术分享

关于pattern处的填写:

官方文档介绍该选项支持正则表达式,如Roger-.表示所有以Roger-开头的项目, 
(?i)roger-.*表示以roger-开头的项目并且不区分大小写, 
如以ABC开头的项目可以配置为ABC|ABC.*, 
官方文档> https://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

我们再来配置Assign Roles

系统配置 – Manage and Assign Roles – Assign Roles

技术分享

点击保存后,就OK了。 
以为上面的例子为例,用户名zhougz登录后只能看到项目名为ggindex的项目。

由于jenkins是英文,所以最好赋上一张jenkins权限的图;

技术分享

Pattern处详解

这没什么好说的,已经不言而喻啦!这里唯一棘手的事情就是Pattern。这个pattern是在于针对匹配正则表达式的全名(包括文件夹的名称,如果你使用Cloudbees文件夹插件)将适用于的工作角色。例如:如果你在pattern处输入“Roger-.*”,这个角色将匹配所有jobs中name以”Roger-“开头。注意,这个正则表达式区别大小写的。要是不想区分大小写, 
可以使用(?i)符号:首字母大写”Roger-.” vs 小写”roger-.” vs 不区别大小写 
“(?i)roger-.*”。 
如果你有一个嵌套文件夹结构,你需要提供特定的访问第二个文件夹(或深度),考虑有两级安全结构(说你想提供独家编写/修改类型访问foo / bar和没有其他“foo”:首先,分配用户/组读/发现权限模式”^ foo。”,然后分配相同的用户/组的更特定的权限模式”^ foo / bar。”——类似于Unix /Linux环境中你会做什么。

 

参考资料:http://blog.csdn.net/u013066244/article/details/53407985

 

Jenkins配置基于角色的项目权限管理