Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline
一、Jenkins按角色授权
当一个公司的开发分为多个组别,或者是多个项目等等。用于公司内部测试,让开发人员自行构建测试,此时不可能让所有的开发都在公用一个构建,这样变得很混乱,为了解决这一问题,jenkins也提供了角色授权的机制。每个开发有着对应的账号和权限,可以自行新建,构建,测试,发布等。角色授权需要安装的插件:Role-based Authorization Strategy
(1)系统配置
系统管理-->Configure Global Security-->访问控制-->授权策略-->Role-Base Strategy

(2)新建用户
系统管理-->管理用户-->新建用户
这里创建一个java用户和php用户,用于区分php和java项目的构建

(3)用户关联自己相关job,无法查看其他的job
建立项目角色,并对该用户进行项目的授权(包括Job的构建,取消,配置,创建,删除等等)
注意此处的添加,一个是Role是随意填写,最好规范点。Pattern是正则匹配,比如此处匹配的是所有包含Java开头的项目和php开头的项目
系统管理-->Manage and Assign Roles --> Manage Roles-->Project roles

配置好项目的权限,使用java用户或php用户登录是没有新建项目的权限,如需新增这样的权限,需要在Global roles中进行配置,新增一个角色(比如新增一个可以创建新项目的权限角色:new job,可登录查看的角色read):

然后系统管理-->Manage and Assign Roles -->Assign Roles进行添加对应的权限

使用php登录查看,可以看到php用户可以看到对应php开头的项目,但是没有新建项目的权限:

二、Jenkins的Pipeline(代码流水线管理)
Pipeline(代码流水线管理)
Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目。如果使用jenkins构建完成后,开发构建项目需要一项一项点击,比较麻烦。所以出现pipeline名词。
(1)下载pipeline。这样只需要构建一个项目,就会帮我们完成所有相关项目
搜索插件pipeline

等待安装完成

(2)新建一个pipeline的项目

配置pipeline项目,使用Pipeline script脚本:
node {
stage 'build php-deploy'
build 'php-deploy'
stage 'build java'
build 'java'
}
为了解决各个项目的依赖关系关系,使用pipeline的脚本进行控制。
第一步构建php项目,第二步构建java项目。Pipeline的脚本语法在Pipeline Syntax中有展示

Pipeline Syntax的使用,如图:

立即构建p1的项目,如图:

代码流水线的功能就介绍到此!
Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline的更多相关文章
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
- Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群
一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用 ...
- Jenkins学习三:介绍一些Jenkins的常用功能
Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的. 1.备份.迁移.恢复jenkins 首先找到JENKINS_HOME,因为Jenkins的所有的数据都是以文件的形 ...
- Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践
目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...
- Gitlab+Jenkins学习之路(十二)之Maven的私有仓库Nexus
1.什么是Nexus? 在前面进行maven项目的构建中,可以看到在构建的过程中需要安装maven的依赖插件,如图: 而在maven的默认配置中是在官网的中央仓库和第三方的maven仓库进行下载,速度 ...
- Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布
一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...
- Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布
思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...
- Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat
一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- Gitlab+Jenkins学习之路(七)之发布PHP项目
使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里 ...
随机推荐
- java:通过Calendar类正确计算两日期之间的间隔
在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...
- Xcode 5.1 编译模拟器以及真机都能使用的静态库
Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6 1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其 ...
- qmake
https://blog.csdn.net/m0_37876745/article/details/78537556
- September 21st 2017 Week 38th Thursday
What fire does not destroy, it hardens. 烈火摧毁不了的东西,只会变得更坚固. The true gold can stand the test of fire, ...
- September 03rd 2017 Week 36th Sunday
What does it profit a man if he gains the whole world and loses his own soul? 失去灵魂,赢得世界又如何? It matte ...
- THE CUP OF LIFE即生命之杯。
生命之杯 编辑 THE CUP OF LIFE即生命之杯. <生命之杯>(西班牙语:La copa de la vida,英语:The Cup of Life)是一首由波多黎各裔歌手瑞奇· ...
- python3: 字符串和文本(3)
11. 删除字符串中不需要的字符 strip() 方法能用于删除开始或结尾的字符: lstrip() 和 rstrip() 分别从左和从右执行删除操作 >>> s = ' hell ...
- 【C#】#103 动态修改App.config配置文件
对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 ...
- 到底该用img还是background-image?
在前端页面的实现过程中,我们经常会遇到这个情况:有一个盒子,盒子里面需要放一张图片.这个时候,我们既可以通过添加image标签来实现,也可以通过设置背景图的形式实现,哪种更好呢? 一般情况下,可能就是 ...
- 20175209 实验三《敏捷开发与XP实践》实验报告
20175209 实验三<敏捷开发与XP实践>实验报告 一.实验内容 编码标准:在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Cod ...