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

Jenkins备份恢复插件:ThinBackup
image.png

Jenkins调用shell脚本时输出带颜色字体,需要安装AnsiColor插件,然后在构建环境项选择“Color ANSI Console Output”
——————————————————————————————————————————-
正则表达式中的或:(.vms.|.supply.
——————————————————————————————————————————-
安装Role-Based Strategy插件
image.png
插件的官网文档
1、安装插件后,进入系统设置页面,配置如下:
image.png
保存之后,再点击 系统管理页面点击Manage and Assign Roles进入角色管理页面:
image.png
1、管理角色(Manage Roles)
2、角色权限配置
image.png
这里我们暂时回到系统管理 – 管理用户:
image.png
点击新建用户:
image.png
如果之前有项目与scm版本管理系统(如svn、Git等)连接并获取源码构建过,jenkins会从svn中读取到一些用户信息,可以在查看用户菜单中看到这些用户
image.png
image.png
点击相应的用户标识后,再点击 设置按钮,可以修改密码等个人信息。
之后我们再回到Manage and Assign Roles –> Manage Roles: 此处可以把 Global roles 中的Role看作一个用户组的权限分配
image.png
关于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
image.png
点击保存后,就OK了。
以为上面的例子为例,用户名zhougz登录后只能看到项目名为ggindex的项目。
由于jenkins是英文,所以最好赋上一张jenkins权限的图;
image.png

Pattern处详解

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