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


Jenkins备份恢复插件:ThinBackup

Jenkins调用shell脚本时输出带颜色字体,需要安装AnsiColor插件,然后在构建环境项选择“Color ANSI Console Output”

-------------------------------------------------------------------------------------

正则表达式中的或:(.*vms.*|.*supply.*)

-------------------------------------------------------------------------------------

安装Role-Based Strategy插件

这里写图片描述

插件的官网文档

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

这里写图片描述


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

这里写图片描述


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

这里写图片描述


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

这里写图片描述


点击新建用户:

这里写图片描述


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

这里写图片描述

这里写图片描述

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

之后我们再回到Manage and Assign Roles –> Manage Roles:             此处可以把 Global roles 中的Role看作一个用户组的权限分配 

关于pattern处的填写:

官方文档介绍该选项支持正则表达式,如Roger-.表示所有以Roger-开头的项目, 
(?i)roger-.* 表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为ABC|ABC.* ,也可以使用“abc|bcd|efg”直接匹配多个项目。

与的运算,比如匹配以aa开头并且不包括abc的字符串:aa[^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

              http://blog.sina.com.cn/s/blog_71f83a920102vkyx.html