1. jenkins的插件管理

​ Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。

1.修改Jenkins插件下载地址

之前的jenkins安装篇已经配置过镜像地址

2.下载中文汉化插件

​ Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"

重启Jenkins后,就看到Jenkins汉化了!(PS:但可能部分菜单汉化会失败)

3.重启方式为浏览器输入

http:192.168.2.239:8080/restart

2. Jenkins用户权限管理

​ 我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限

安装Role-based Authorization Strategy插件。

开启权限全局安全配置

创建角色

在系统管理页面进入 Manage and Assign Roles

点击"Manage Roles"

Global roles(全局角色):

​ 管理员等高级用户可以创建基于全局的角色

Project roles(项目角色):

​ 针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限

我们添加以下三个角色:

baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission

role1:该角色为项目角色。使用正则表达式绑定"nwnu.",意思是只能操作nwnu开头的项目。role2:该角色也为项目角色。绑定"ifnwnu.",意思是只能操作fnwnu开头的项目。

创建后保存。

创建用户

​ 在系统管理页面进入 Manage Users

如何创建新用户如下

给用户分配角色

​ 系统管理页面进入Manage and Assign Roles,点击Assign Roles

绑定规则如下:

sun1用户分别绑定baseRole和role1角色

sun2用户分别绑定baseRole和role2角色

分配角色

创建项目测试权限

​ 以root管理员账户创建两个项目,分别为nwnu2project和nwnuproject

结果为:

sun1用户登录,只能看到nwnu2peoject项目

sun2用户登录,只能看到nwnuproject项目

3. Jenkins凭证管理

​ 凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。

安装Credentials Binding插件

​ 要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件

安装完成后如下图。

可以添加的凭证有5种

  • Username with password:用户名和密码
  • SSH Username with private key: 使用SSH用户和密钥
  • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
  • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token Certificate:通过上传证书文件的方式
常用的凭证类型有
  • Username with password(用户密码)
  • SSH Username with private key(SSH密钥)

​ 接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。 安装Git插件和Git工具

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

centos7安装git

yum -y install git

用户密码类型

1) 创建凭证

Jenkins->凭证->系统->全局凭证->添加凭证

选择"Username with password",输入Gitlab的用户名和密码,点击"确定"。

2)测试凭证是否可用

创建一个FreeStyle项目:新建Item->FreeStyle Project->确定

找到"源码管理"->"Git",在Repository URL复制Gitlab中的项目URL

3)保存配置后,点击构建”Build Now“ 开始构建项目。

4)查看/var/lib/jenkins/workspace/目录,发现已经从Gitlab成功拉取了代码到Jenkins中。

SSH密钥类型

SSH免密登录示意图

1)使用root用户生成公钥和私钥ssh-keygen -t rsa

在/root/.ssh/目录保存了公钥和使用

id_rsa:私钥文件 id_rsa.pub:公钥文件

2)把生成的公钥放在Gitlab中

以root账户登录->点击头像->Settings->SSH Keys

复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"

3)在Jenkins中添加凭证,配置私钥

在Jenkins添加一个新的凭证,类型为"SSH Username with private key",把刚才生成私有文件内容复制过来

4)测试凭证是否可用

新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证

同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!

3. jenkins的管理的更多相关文章

  1. [转]Jenkins使用 管理节点

    现在我们已经搭建好了基本的Jenkins环境,在这一集里,我们说一说如何管理节点. 进入“系统管理”中的“管理节点”. 创建Windos系统的奴隶节点 先创建一台安装了Win7系统的虚拟机,作为Jen ...

  2. Jenkins用户组管理

    Jenkins用户组管理 转载2015-06-10 21:44:24 标签:jenkinsrolestrategypluginusergroupcitools 一.安装插件 安装RoleStrateg ...

  3. 【Devops】【docker】【CI/CD】Jenkins源代码管理 添加gitlab项目地址,报错Failed to connect to repository : Error performing command: ls-remote -h git@192.168.92.130:8090/root/swapping.git HEAD

    Jenkins源代码管理 添加gitlab项目地址 报错如下: Failed to connect to repository : Error performing command: ls-remot ...

  4. jenkins中管理用户

    jenkins中管理用户: 管理用户权限

  5. Jenkins源代码管理(SVN)

    Subversion 安装插件 1.首先将本地的自动化用例打包上传svn 2.配置jenkins源代码管理(每次执行jenkins时,会自动check-out配置地址中的代码到Jenkins的工作空间 ...

  6. jenkins插件管理提示“update information obtained:不可用ago”

    jenkins插件管理遇到两个错误 (1)插件管理页面提示:There were errors checking the update sites:IOException:Unable to tunn ...

  7. Jenkins 源代码管理(SVN)

    Subversion 安装插件 1.首先将本地的自动化用例打包上传 svn 2.配置 jenkins 源代码管理(每次执行 jenkins 时,会自动 check-ou t配置地址中的代码到 Jenk ...

  8. Jenkins凭证管理

    目录 一.简介 二.管理凭证 三.常用凭证 保密文本 账号密码 保密文件 账号秘钥 四.优雅使用凭证 保密文本 账号密码 保密文件 五.凭证插件 集成HashiCorp Vault pipeline ...

  9. Jenkins代码管理

    1.1  Jenkins安装与下载应用代码   应用部署   http://jenkins-ci.org   http://wordpress.org/   http://core.svn.wordp ...

  10. Jenkins插件管理

    1.配置jenkins需要的maven.jdk路径 [root@db01 secrets]# echo $JAVA_HOME /application/jdk [root@db01 secrets]# ...

随机推荐

  1. JavaScript设计模式样例十 —— 组合模式

    组合模式(Composite Pattern) 定义:又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.目的:将对象组合成树形结构以表示"部分-整体"的层次结构.场景:您 ...

  2. Python被远程主机强制关闭后怎么自动重新运行进程

    要实现Python程序在被远程主机强制关闭后能够自动重新运行,我们可以采用几种方法,但最直接且常用的方法之一是结合操作系统级的工具或脚本.在Linux系统中,我们可以使用cron作业或者systemd ...

  3. Microsoft Build 2023 After Party (Placeholder)

    一年过去了,微软BUILD又回来了! https://build.microsoft.com/en-US/home This is a placeholder page for Microsoft B ...

  4. Java怎么把多个对象的list的数据合并

    1.示例一:创建几个包含Person对象的List,并将它们合并成一个新的List 在Java中,将多个对象的List合并通常涉及到遍历这些List并将它们的元素添加到一个新的List中.这里,我将给 ...

  5. ASP.NET Core – 操作 Uri 和 Query

    前言 以前就有写过了 Asp.net core 学习笔记 (操作 URL 和 Query), 但很乱, 这篇作为整理. Uri 介绍 结构: [Scheme]://[Host]:[Port][/Pat ...

  6. Open Graph protocol

    大纲介绍 Open Graph protocol 是 facebook 2010 年推出的一套规范, 用途是通过一些简单的 meta tag 来描述网站的内容. 这样在 sharing 网址的时候就可 ...

  7. HTTP——响应数据格式

    HTTP响应数据格式    状态码分类:    常见的状态响应码:      

  8. RedisTemplate设置的key,redis客户端取不到

    原因:RedisTemplate 在set key时,key被序列化 解决办法1: import org.springframework.context.annotation.Bean; import ...

  9. .NET 跨平台工业物联网网关解决方案

    前言 随着工业4.0时代的到来,物联网技术正在以前所未有的速度改变着我们的生产和生活方式.本文给大家介绍一个基于 .NET 6 开发的跨平台工业物联网网关解决方案. 工业物联网(IIoT)成为了连接物 ...

  10. 八字测算引流seo程序php网页版黄历/排盘/抽签/星座/生肖/解梦整站程序分享

    2演示站: https://s31.yczfcn.com/ 2源码说明: 1.手机端和PC端共两套模板,手机端访问时候自动跳转至手机端模板和域名. 2.本程序包含文章系统,结合自身的免费测算功能,适合 ...