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
原文地址:https://www.cnblogs.com/justuntil/p/11956371.html
- 虚拟化平台cloudstack(3)——安装(下)
- 机器学习算法实现解析——libFM之libFM的训练过程概述
- 虚拟化平台cloudstack(4)——几个异常
- Golang语言 xml解析实例
- 机器学习算法实现解析——libFM之libFM的模型处理部分
- Go语言使用protobuf数据通信--师出同门,懂的人理解吧
- 虚拟化平台cloudstack(6)——使用maven:jetty调试
- 虚拟化平台cloudstack(7)——新版本的调试
- 一行代码,Pandas秒变分布式,快速处理TB级数据
- 机器学习算法实现解析——word2vec源码解析
- 从零开始创建一个基于Go语言的web service
- 转--Golang项目邮件发送模块代码分享
- 虚拟化平台cloudstack(8)——从UI开始
- 使用oracle的大数据工具ODCH访问HDFS数据文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用sysbench进行压测 Part1 sysbench安装
- Java并发编程(07):Fork/Join框架机制详解
- PostgreSQL Pgbouncer 到底怎么使用,疗效有多大
- 微信练手小程序源码 - 日历(含各种功能组件)
- Redis 5.0.8安装
- Redis 主从搭建
- Redis 5.0.8 主从+哨兵的搭建
- ammo.js-bullet物理引擎碰撞检测
- TKE上动态部署jenkins slaves
- CVE-2017-0261及利用样本分析
- 流水的NLP铁打的NER:命名实体识别实践与探索
- Spring Boot入门系列(十七)Mybatis创建自定义mapper 实现多表关联查询!
- 让你笑的七个linux命令
- GPU并行计算之向量和
- ShardingJdbc分库分表实战案例解析(下)