持续集成之 Jenkins 配置基于角色的项目权限管理(五)

一、前言

Jenkins是个好东西,开发运维测试的老江湖应该都听过,在此我就不再多做介绍jenkins是个什么东西了。

jenkins自身的权限管理,无法实现用户指定显示视图或者视图中指定的jobs,之前分配的jenkins账号是拥有所有权限的,因为担心故意或者误删job的情况。 我们使用jenkins自身的权限控制,而实现的效果用户只能构建,不能查看修改配置和删除job。虽然避免了故意或者失误删除job的情况,但是有时候开发需要修改配置,比如说更改构建的分支,或者想查看构建的参数,脚本就需要叫运维协助。对开发来说比较麻烦,对运维也很苦恼。

1、解决方法

为jenkins安装角色策略插件,通过配置角色策略可以解决上面问题。

  1. 每个项目分配两个账号,一个账号可以查看job配置,修改配置,构建新的权限,不能删除,不能创建job,另一一个账号只有构建权限。
  2. 不同项目组账号登录之后,jenkins视图只显示自己项目组的job。

2、规划

我们假设我们有两个项目组,分别是b和q,每个项目组两个账号,分别是 btest,badmin,qtest,qadmin。

项目 用户 权限 视图 角色
b badmin 修改,查看,构建等 b badmin
b btest 只构建 b buser
q qadmin 修改,查看,构建等 q qadmin
q qtest 只构建 q quser

二、配置

1、安装插件

系统管理--->管理插件。

2、全局安全配置

系统管理--->全局安全配置。

3、创建用户

系统管理--->管理用户

4、创建角色

系统管理--->Manage and Assign Roles

1、创建一个Global roles

我们先创建一个全局角色user,赋予全局标签下面的Read权限。

2、创建规划项目的角色

分别创建两个项目的角色,按照规划的分配权限,Pattern用于给项目匹配 job,使用正则表达式。

5、给用户分配角色

系统管理--->Manage and Assign Roles--->Assign Roles

6、创建项目视图

我这里只展示创建其中一个视图,另一个方式一样。

三、登录验证

1、创建 job

因为创建的账号都没有赋予创建job的权限,所以我们先使用最高的管理账户创建几个job,具体如下:

2、项目隔离验证

我们分别登录 btest 和 qtest 这两个账号,分别查看一下各自账号下面可以查看到的 job。

btest

qtest

我们可以看到,隔离成功,不同的项目值可以看到各自的 job。

3、权限验证

我们分别登录 badmin 和 btest ,查看其权限。

badmin

btest

我们可以看到,各自看到的权限就是我们在角色里面赋予的权限,没有问题。

(0)

相关推荐

  • jenkins学习15-Allure报告不用登陆也能给领导看

    前言 前面讲 jenkins 生成 allure 报告后,邮件里面发送报告的url地址给领导,领导就能随时随地访问我们的测试报告了. 但是 jenkins 上访问报告,默认是需要登陆jenkins的账 ...

  • 持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

    一.背景 之前的项目是 public 的,如果我们在 gitlab上面把它修改成 private,然后再次打开配置,就可能会出现下面的错误,两种协议都会进行报错. 名称 IP 备注 Jenkins 1 ...

  • 持续集成之 Jenkins 的安装与配置(一)

    一.持续集成的概念 Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,功能包 ...

  • Jenkins持续集成

    时间 主题 8.13(周二)14:00 WebDriver鼠标键盘操作 8.14(周三)20:00 Jenkins持续集成 在传统的瀑布开发模型中,是所有人写好代码之后提交版本管理工具,然后统一进行合 ...

  • Docker版Jenkins持续集成

    随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的 ...

  • 持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码

    一.整体流程 二.Jenkins 配置 2.1.首先安装插件 Gitlab Hook Plugin GitLab Plugin Publish Over SSH 2.2.配置目标服务器 系统管理 -- ...

  • 使用Jenkins实现项目持续集成部署

    十多年前,敏捷开发人员开始拥抱并促进测试驱动的开发和持续集成(CI).利用这些技术,只要开发人员将源代码检查到源存储库中,我们就可以自动构建源代码,执行详尽的单元测试套件以确保应用程序正常运行.许多测 ...

  • 基于 abapGit 和 abaplint 的 ABAP 持续集成的一个例子

    这是 Jerry 2021 年的第 61 篇文章,也是汪子熙公众号总共第 338 篇原创文章. 短歌行 曹操 对酒当歌,人生几何! 譬如朝露,去日苦多. 慨当以慷,忧思难忘. 何以解忧?唯有杜康. 青 ...

  • 基于模型开发的持续集成及团队工具链开发

    获得pdf全文,朋友圈集赞30个 好书推荐: 1. Radar: <雷达手册> <推荐理由:中译本在原著的基础上增加了缩略语词汇总表等5个附录,便于读者查阅.原著是集合当今世界雷达各 ...

  • Jenkins持续集成的13种替代方案

    在<Jenkins越来越老了-现在该继续前进>,我们讨论了Jenkins最常见的问题,这些问题促使我们寻找替代方法.这就是为什么在本文中,我们提供了用于持续集成的最常见的Jenkins替代 ...