在Linux系统中安装Jenkins(保姆级别)
0、前言
尽管网络上有大量 Jenkins 安装教程,但多数存在 “不够详细” 或 “依赖 Docker、K8s 等复杂环境” 的问题 —— 对于刚接触 Jenkins 的新手而言,额外学习容器或编排工具会显著增加入门成本。因此,本文将完全采用 “原始方式”(即直接基于操作系统环境安装),从环境准备到 Jenkins 部署、再到基础美化,全程 step-by-step 讲解,确保新手能零门槛上手。
一、简介
官网:https://www.jenkins.io
中文文档:Jenkins
Jenkins
是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。
二、安装前准备
笔者建议安装 JDK-21
,直接下载2.49以上的 Jenkins
,要不然插件安装会比较麻烦,真的很麻烦!!!!而且最终还是以失败告终,所以避免大家走弯路,直接按照我的版本来
前提是要安装JDK-21和Maven,先安装JDK再安装Maven,跟着教程走很简单的,不要被劝退,有问题可以直接在评论区发出来
在Linux系统下安装JDK21:
在Linux系统下安装JDK21(保姆级别)-CSDN博客
在Linux环境安装Maven:
在Linux环境安装Maven(保姆级别)-CSDN博客
在 Linux
上安装 Jenkins
非常简单,如果只是为了学习没必要非得使用 docker
,和在 Windows
上用 war
包进行安装差不多,因为 war
是跨平台的,只需要系统上安装了 Java
,均可以 java -jar
的命令运行起来
三、下载与安装
进入 Jenkins
的 官方下载页面
LTS
是长期支持的版本,是稳定的版本
在下载安装包之前要先确定应该下载哪个版本的 Jenkins
,Jenkins
的版本依赖于 Java
的版本,可在 Jenkins-Java Support Policy 中进行查看
如果与笔者版本选择一样的话,就跟着下面我选的版本
下载完成之后就把该 war
包上传至服务器
这里我会先在服务器上创建一个 /soft/jenkins
的文件夹用于存放 jenkins
的安装包,并进入到该目录下
mkdir -p /soft/jenkins
cd /soft/jenkins/
使用 rz
命令将下载好的安装包上传到该目录下
rz
可以用 ls
命令查看是否上传成功
上传成功之后就可以直接用 java -jar
命令启动起来,可以通过 httpPort
来指定端口号
java -jar jenkins.war --httpPort=8080
如果出现了这样的问题,那么直接yum install fontconfig就可以了
在执行就可以不报错了,如果没报错的话就不需要执行下面的命令了
java -jar jenkins.war --httpPort=8080
首次启动会比较慢,因为需要初始化和存放一些文件到 .jenkins
的目录下
在启动过程中会打印出 管理员账户密码
这个时候就可以去游览器上访问下 ip:port
,ip
是服务器的 ip
地址,port
是启动 jenkins
的端口,比如:192.163.10.12:8080
,如果你用的是 云服务器
,可别忘了在云服务器上开放该端口号
在游览器上展示页面如下,就可以进行初始化了
将 管理员账户密码
复制到对应的地方,点击 继续
这里建议点击 选择插件来安装
,在点击 无
,不安装任何插件,再点击 安装
,因为我们没有配置镜像,安装插件是从外网下载
过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高
进入到创建管理员页面,填写账户信息后 保存并完成
进入以下页面配置 jenkins
的 url
,一般使用默认的就行了,保存并完成
初始化完成
点开始用页面
四、配置镜像地址
之前启动 Jenkins 时会打印出管理员账户密码所在文件,例如:/root/.jenkins/secrets/initialAdminPassword,/root/.jenkins 就是 jenkins 的工作目录,在 jenkins 的工作目录 .jenkins 中,找到 hudson.model.UpdateCenter.xml 文件打开
将 https://updates.jenkins.io/update-center.json 替换成国内镜像网址并 保存
国内镜像网址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
国外镜像网址:https://mirror.xmission.com/jenkins/updates/update-center.json
sed -i 's#https://updates.jenkins.io/update-center.json#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json#g' hudson.model.UpdateCenter.xml
再进入到 updates
目录下,编辑 default.json
文件,将该文件中国外的地址全部替换成国内的
cd updates/ls
https://www.google.com
全部替换成https://www.baidu.com
sed -i 's#https://www.google.com#https://www.baidu.com#g' default.json
https://updates.jenkins.io/download
全部替换成https://mirrors.tuna.tsinghua.edu.cn/jenkins
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
五、启动与关闭
1. 启动
前文是有用到 java -jar
的命令启动了 Jenkins
,这里简单总结以下:
- 前台启动
#特点:当前ssh窗口被锁定,可按 CTRL+C 打断程序运行,或直接关闭窗口,程序退出
java -jar jenkins.war --httpPort=8080#特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
java -jar jenkins.war --httpPort=8080 &
- 后台启动
# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
# 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到 nohup.out 的文件中
nohup java -jar jenkins.war --httpPort=8080 &# 这种方法会把日志文件输入到你指定的文件 jenkins.log 中,没有则会自动创建
nohup java -jar jenkins.war --httpPort=8080 >jenkins.log &
如果用的是云服务器,直接后台启动就行了,即使关闭终端,程序依然可以运行
2. 关闭
可以先查询 Jenkins
的进程
ps -ef | grep jenkins
然后再通过 kill
命令来关闭程序
# 彻底杀死进程号为 pid 的进程
kill -9 pid
六、常用插件的安装
Jenkins
相当于一个平台,它很多的功能都是通过对应的插件去实现的,所以插件安装对于使用 Jenkins
非常的重要
在 Jenkins
中常用的插件如下:
在 Jenkins 中常用的插件如下:
Folders
OWASP Markup Formatter
Build Timeout
Credentials Binding
Timestamper
Workspace Cleanup
Ant
Gradle
Pipeline
GitHub Branch Source
Pipeline:GitHub Groovy Libraries
Pipeline:Stage View
Git
SSH Build Agents
Matrix Authorization Strategy
PAM Authentication
LDAP
Email Extension
Mailer
Dark Theme
Localization: Chinese (Simplified)