Jenkins 持续集成环境构建二 (Jenkins)

本文详述了Jenkins的安装过程,包括JDK的安装与Jenkins的配置。接着,介绍了插件管理,如修改插件源以加速下载,并安装中文汉化插件。文章还详细阐述了用户权限管理,使用Role-based Authorization Strategy插件创建不同角色并分配给用户。最后,讲解了凭证管理,包括Username with password和SSH密钥类型的凭证添加与测试,确保Jenkins能与Gitlab等第三方应用安全交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 Jenkins安装

1)安装JDK

Jenkins需要依赖JDK,所以先安装JDK1.8

yum install java-1.8.0-openjdk* -y

2)安装目录为:/usr/lib/jvm

获取jenkins安装包
下载页面:https://jenkins.io/zh/download/ 安装文件:jenkins-2.277.4-1.1.noarch.rpm

3)把安装包上传到192.168.48.161服务器上,进行安装rpm

rpm -ivh jenkins-2.277.4-1.1.noarch.rpm

4)修改jenkins配置

vim /etc/sysconfig/jenkins

修改内容如下:注意:如果用户使用默认,则需要在系统上创建jenkins用户

JENKINS_USER="root" 
JENKINS_PORT="8888"

5)启动jenkins

systemctl start jenkins

6)打开浏览器访问
http://192.168.48.161:8888
在这里插入图片描述
注意:本服务器把防火墙关闭了,如果开启防火墙,需要在防火墙添加端口

7)获取并输入admin账户密码

cat /var/lib/jenkins/secrets/initialAdminPassword

8)跳过插件安装
因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经过会失败,所以我们暂时先跳过插件安装
在这里插入图片描述
在这里插入图片描述
9)添加一个管理员账户,并进入Jenkins后台
在这里插入图片描述
保存并完成
在这里插入图片描述
开始使用Jenkins
在这里插入图片描述
在这里插入图片描述

Jenkins密码遗忘处理
//修改配置文件安全功能禁用
vim /var/lib/jenkins/config.xml
<useSecurity>false</useSecurity>   
//重启jenkins服务
systemctl restart jenkins
可以直接登录修改账号密码

修改jenkins中已有的用户名和ID
vim /var/lib/jenkins/users/users.xml

二 jenkins插件管理

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

修改Jenkins插件下载地址(选做)
Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:

Jenkins->Manage Jenkins->Manage Plugins,点击Available
在这里插入图片描述
这样做是为了把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址

cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins- ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

在这里插入图片描述
Sumbit后,在浏览器输入: http://192.168.195.181:8888/restart ,重启Jenkins。

下载中文汉化插件
Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"
在这里插入图片描述
完成后如下图:
在这里插入图片描述
重启Jenkins后,就看到Jenkins汉化了!(PS:但可能部分菜单汉化会失败)
在这里插入图片描述

三 Jenkins用户权限管理

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

在这里插入图片描述
开启权限全局安全配置
在这里插入图片描述
授权策略切换为"Role-Based Strategy",保存
在这里插入图片描述
创建角色
在系统管理页面进入 Manage and Assign Roles
在这里插入图片描述
点击"Manage Roles"
在这里插入图片描述
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色 Project roles(项目角色): 针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限

我们添加以下三个角色:

  • baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
    • role1:该角色为项目角色。使用正则表达式绑定"apple.*",意思是只能操作apple开头的项目。
    • role2:该角色也为项目角色。绑定"orange.*",意思是只能操作orange开头的项目。
      在这里插入图片描述
      保存。

创建用户
在系统管理页面进入 Manage Users
在这里插入图片描述
分别创建两个用户:jack和kali在这里插入图片描述
在这里插入图片描述
给用户分配角色
系统管理页面进入Manage and Assign Roles,点击Assign Roles
绑定规则如下:

  • kali用户分别绑定baseRole和role1角色
  • jack用户分别绑定baseRole和role2角色
    在这里插入图片描述
    保存。

创建项目测试权限
以jerry管理员账户创建两个项目,分别为apple01和orange01
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果为:

  • kali用户登录,只能看到apple01项目
  • jack用户登录,只能看到orange01项目

四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:通过上传证书文件的方式

接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。 安装Git插件和Git工具
为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

Git插件安装:
在这里插入图片描述
CentOS7上安装Git工具:

yum install git -y 安 装
git --version 安装后查看版本

2 用户密码类型

1)创建凭证
Jenkins->凭证->系统->全局凭证->添加凭证
在这里插入图片描述
在这里插入图片描述
选择"Username with password",输入Gitlab的用户名tom和密码,点击"确定"。
在这里插入图片描述

2.1测试凭证是否可用

创建一个FreeStyle项目:新建Item->FreeStyle Project->确定
在这里插入图片描述
找到"源码管理"->“Git”,在Repository URL复制Gitlab中的项目URL
在这里插入图片描述
在这里插入图片描述
这时会报错说无法连接仓库!在Credentials选择刚刚添加的凭证就不报错啦
在这里插入图片描述
保存配置后,点击构建”Build Now“ 开始构建项目
在这里插入图片描述
在这里插入图片描述
查看/var/lib/jenkins/workspace/目录,发现已经从Gitlab成功拉取了代码到Jenkins中。
在这里插入图片描述

3,SSH密钥类型

SSH免密登录示意图
在这里插入图片描述

3.1使用root用户生成公钥和私钥

ssh-keygen -t rsa

在/root/.ssh/目录保存了公钥和使用
在这里插入图片描述
id_rsa:私钥文件
id_rsa.pub:公钥文件

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

以root账户登录gitlab->点击头像->Settings->SSH Keys
复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"
在这里插入图片描述
在这里插入图片描述

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

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

3.44)测试凭证是否可用

新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值