Jenkins介绍
Jenkins作为当今最流行的开源CI/CD工具之一,广泛用于自动化构建、测试与部署。本文将结合企业实际部署经验,手把手教你如何在Rocky Linux 8上通过Docker快速部署一套高可用的Jenkins环境。无论你是新手还是有经验的运维工程师,都能从中快速获得实战技能。
系统环境
-
主机系统:Rocky Linux 8
-
主机 IP:172.25.24.233
-
部署方式:Docker 容器运行 Jenkins
一、安装 Docker(如已有可跳过)
1. 清理旧版本
yum remove docker* -y
rpm -qa|grep docker
2. 添加 Docker 仓库并安装
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-* containerd.io-*
3. 启动并设置自启
systemctl start docker
systemctl enable docker --now
二、配置 Docker 加速器(建议)
docker加速配置
mkdir -p /etc/docker
vim /etc/docker/daemon.json 加入
{
"log-opts": {
"max-size": "5m",
"max-file":"3"
},
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://docker.m.daocloud.io",
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
"https://5tqw56kt.mirror.aliyuncs.com",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn/",
"http://mirror.azure.cn/",
"https://hub.rat.dev/",
"https://docker.ckyl.me/",
"https://docker.chenby.cn",
"https://docker.hpcloud.cloud"
]
}
重启 Docker:
systemctl daemon-reload
systemctl restart docker
三、安装 Java(如已有可跳过)
yum install -y java-21*
添加环境变量:
vi /etc/profile 加入
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-21.0.5.0.10-3.el8.x86_64
export PATH=$JAVA_HOME/bin/:$PATH
export CLASSPATH=.$JAVA_HOME/lib
刷新配置:
source /etc/profile
java -version
四、安装 Maven(如已有可跳过)
1. 下载与解压
mkdir /opt/server
cd /opt/server
Download Apache Maven – Mavenhttp://maven.apache.org/download.cgi
tar -zxvf apache-maven-3.8.8-bin.tar.gz
2. 统一目录 & 配置环境变量
mkdir maven
mv apache-maven-3.8.8/* maven/
vi /etc/profile 加入
export PATH=$PATH:/opt/server/maven/bin
刷新配置并验证:
source /etc/profile
mvn -version
五、部署 Jenkins 容器
1. 拉取镜像
docker pull jenkins/Jenkins
2. 启动 Jenkins 容器
mkdir -p /var/jenkins_home/workspace/
#启动命令:
docker run -u root -d \
-p 10240:8080 -p 10241:50000 \
-v /var/jenkins_home/workspace/:/var/jenkins_home/workspace/ \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/lib/jvm/:/usr/local/java \
-v /opt/server/maven:/usr/local/maven \
-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" \
--name myjenkins jenkins/jenkins
#解释:
-d :后台运行
-p:10240:8080 镜像8080 :端口映射到宿主机 10240端口
-p:10241:50000 镜像50000 :端口映射到宿主机 10241端口
-v:/var/jenkins_home/workspace/:/var/jenkins_home/workspace/
/var/jenkins_home/workspace/ 宿主机的Jenkins目录挂载路径 jenkins
/var/jenkins_home/workspace/ 镜像服务器中jenkins的工作目录
-v /usr/bin/docker:/usr/bin/docker : 挂载docker
-v /usr/local/java/jdk1.8.0_381:/usr/local/java : 挂载映射宿主机jdk
-v /usr/local/maven/apache-maven-3.9.3:/usr/local/maven : 挂载映射宿主机maven
-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" \ :同步时间
--name myjenkins(自定义容器名称) jenkins/jenkins(需要映射容器名称)
六、常见问题排查
如果有问题,查看报错日志
先通过docker ps -a查到已经被停止的容器的id
然后通过docker logs id 来查看相应的日志信息
更新docker版本后ok
七、访问 Jenkins & 获取初始密码
浏览器访问:
172.16.39.90:10240
获取初始化密码:
进入容器,查看登录初始化密码,执行命令
docker exec -it myjenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
安装插件
Jenkins插件推荐
建议安装以下常用插件:
-
Git plugin:支持 Git 仓库拉取
-
Pipeline:构建流水线任务
-
Docker plugin:执行 Docker 构建任务
-
Blue Ocean:现代化 UI
-
Chinese Language Pack:中文界面支持
路径:Manage Jenkins > Plugin Manager
中勾选安装。