3. jenkins的管理
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的管理的更多相关文章
- [转]Jenkins使用 管理节点
现在我们已经搭建好了基本的Jenkins环境,在这一集里,我们说一说如何管理节点. 进入“系统管理”中的“管理节点”. 创建Windos系统的奴隶节点 先创建一台安装了Win7系统的虚拟机,作为Jen ...
- Jenkins用户组管理
Jenkins用户组管理 转载2015-06-10 21:44:24 标签:jenkinsrolestrategypluginusergroupcitools 一.安装插件 安装RoleStrateg ...
- 【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 ...
- jenkins中管理用户
jenkins中管理用户: 管理用户权限
- Jenkins源代码管理(SVN)
Subversion 安装插件 1.首先将本地的自动化用例打包上传svn 2.配置jenkins源代码管理(每次执行jenkins时,会自动check-out配置地址中的代码到Jenkins的工作空间 ...
- jenkins插件管理提示“update information obtained:不可用ago”
jenkins插件管理遇到两个错误 (1)插件管理页面提示:There were errors checking the update sites:IOException:Unable to tunn ...
- Jenkins 源代码管理(SVN)
Subversion 安装插件 1.首先将本地的自动化用例打包上传 svn 2.配置 jenkins 源代码管理(每次执行 jenkins 时,会自动 check-ou t配置地址中的代码到 Jenk ...
- Jenkins凭证管理
目录 一.简介 二.管理凭证 三.常用凭证 保密文本 账号密码 保密文件 账号秘钥 四.优雅使用凭证 保密文本 账号密码 保密文件 五.凭证插件 集成HashiCorp Vault pipeline ...
- Jenkins代码管理
1.1 Jenkins安装与下载应用代码 应用部署 http://jenkins-ci.org http://wordpress.org/ http://core.svn.wordp ...
- Jenkins插件管理
1.配置jenkins需要的maven.jdk路径 [root@db01 secrets]# echo $JAVA_HOME /application/jdk [root@db01 secrets]# ...
随机推荐
- Win32 状态栏用法
WIN32 状态控件用法 1.创建控件 状态栏类名: STATUSCLASSNAME #define STATUSCLASSNAMEW L"msctls_statusbar32 ...
- java_html笔记
颜色 color 字体大小 1. 数值+单位 2. 关键字 - px - em 字体(可以写多个,但 不是全都生效 只生效存在的 如果全都不存在 则使用默认字体) font-family:" ...
- Pipenv 使用
Pipenv 是 Python 官方推荐的依赖管理工具,旨在简化 pip 和 virtualenv 的使用.其使用 Pipfile 和 Pipfile.lock 来管理项目的依赖和虚拟环境. 安装 p ...
- 『读书笔记』你不知道的JavaScript(上)
前言 文章只记录理解以及容易遗忘的知识点. 词法作用域.块作用域 词法作用域 词法作用域:简单的说,词法作用域就是定义在词法阶段的作用域.换句话说,词法作用域就是在你写代码时将变量和块作用域写在哪里来 ...
- 深度学习Python代码小知识点(备忘,因为没有脑子)
现在是2024年4月24日16:58,今天摸鱼有点多,备忘一下,都写到一篇内容里面,免得分散. 1. np.concatenate()函数'np.concatenate'是NumPy库中用来合并两个或 ...
- C++ string类型常用操作
string类型操作 字符串切割 str.substr(索引,切割的个数) -> 返回字符串 注意:第二个参数为切割的个数 string buf = "abcdefg"; ...
- Springboot 项目配置 HTTPS
生成证书 输入命令 keytool -genkeypair -alias "boot" -keyalg "RSA" -keystore "boot.k ...
- 标准库之 random 模块
一.介绍random模块 1.1.random模块简介 random模块是Python标准库中用于生成伪随机数的模块,伪随机数是通过算法生成的数列,在一定范围内表现出随机性,虽然这些数列在一定程度上是 ...
- 托管服务简介IHostedService接口 继承 BackgroundSerice接口
1. 场景:代码运行在后台,比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3 点把数据到处到数据库备份,每隔5秒在两张表之间同步一次数据 : 2. 托管服务实现IHoutedService接口 ...
- 008 Python、Anaconda、pip、Pycharm、Jupyter 的下载
下述所有软件的具体做法:https://www.cnblogs.com/nickchen121/p/10718112.html python 下载 搜一下 python:https://www.pyt ...