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的项目,如图:
代码流水线的功能就介绍到此!