Docker 安装 Jenkins

Jenkins 是一款开源 CI & CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

在项目开发场景中主要用于自动发版,解放了运维人员繁琐的工作,也便于进行版本管理。

Jenkins 可以直接运行 war 包安装,也可以使用 Docker 安装。

war 包安装过程简单,配置也相对于 Docker 安装简单,但占用资源更多,且不好管理,还是推荐使用 Docker 安装。

运行镜像

  1. 拉取镜像
bash 复制代码
docker pull jenkins/jenkins
  1. 运行镜像
bash 复制代码
docker run --name=jenkins \
           --restart=always \
           --privileged=true \
           -u root \
           -p 8080:8080 \
           -p 50000:50000 \
           -v /home/docker/jenkins/jenkins_home:/var/jenkins_home \
           -v $(which docker):/usr/bin/docker \
           -v /var/run/docker.sock:/var/run/docker.sock \
           -e TZ=Asia/Shanghai \
           -d \
           jenkins/jenkins
  1. 确认运行
bash 复制代码
docker ps

【STATUS】显示【UP】即为正常运行。

如果觉得不保险可以再查看日志确认:

bash 复制代码
docker logs -fn 200 jenkins

日志出现这一行代表运行成功。

访问系统

访问地址:++服务器IP:8080++

这里提示要输入密码,在服务器运行以下命令可以快速得到密码:

bash 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

将得到的密码填入即可登录系统。

安装插件

新手推荐直接安装推荐的插件,老手再自行选择。

点击安装推荐插件可能出现如下报错:

这是因为缺少 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">cloudbees-folder</font> 插件,下载即可:cloudbees-folder下载地址

点一个版本下载即可(为了避免兼容性问题,最好选最新版)

下载后得到 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">cloudbees-folder.hpi</font> 文件

接下来只需将它拷贝到 Jenkins 的插件目录中即可,插件目录的位置在启动 Jenkins 容器时所挂载的宿主机目录 <font style="color:rgb(77, 77, 77);">/war/WEB-INF/detached-</font><font style="color:rgb(78, 161, 219) !important;">plugins</font>

这里为:<font style="color:rgb(77, 77, 77);">/home/docker/jenkins/jenkins_home/war/WEB-INF/detached-plugins/</font>

然后重启容器:

bash 复制代码
docker restart jenkins

然后再刷新页面按照之前的步骤获取密码登录后安装推荐的插件即会出现如下安装页面:

由于网络等原因,有可能出现部分插件安装失败的情况:

点击【重试】再次安装即可。

创建管理员用户:

这样,Jenkins 就安装完毕了。

相关推荐
程序员雷欧几秒前
Java 反射深度解析:从原理到源码的全面剖析
java·开发语言·python
登登登__9 分钟前
春秋招笔试题总结
java·开发语言
rannn_11116 分钟前
【力扣hot100】链表专题|21、2、19、24、92、25
java·数据结构·算法·leetcode·链表·开发
Rabitebla1 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
洋不写bug1 小时前
JavaComparable、Comparator、Cloneable接口解析,深拷贝浅拷贝详细解析
android·java·开发语言
测试运维日常笔记1 小时前
RHEL/CentOS 离线部署指南:配置本地 ISO 镜像作为 YUM 仓库
linux·运维·centos
坐吃山猪1 小时前
WebFlux_学习Subscriber总结
java·开发语言·学习·webflux
HiDev_1 小时前
【非标自动化】硬核阅读理解620行梯形图-逆推工位逻辑
运维·自动化
白露与泡影1 小时前
Java面试题及答案整理(2026年金九银十最新版,持续更新)
java·开发语言
geovindu2 小时前
java: Memento Pattern
java·开发语言·后端·备忘录模式·行为模式