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 就安装完毕了。

相关推荐
莫晓燚28 分钟前
阿里云若依项目部署与日志采集---实战
运维·数据库·redis·阿里云·ruoyi
captain37630 分钟前
MyBatis Plus(1)
java·服务器·mybatis
何中应32 分钟前
Grafana如何共享面板
运维·grafana·可观测
科创致远37 分钟前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(08)
java·数据库·mysql·面试·八股
重生之小比特1 小时前
【Linux系统】17 库制作与原理(下)
linux·运维·服务器
thefool1122661 小时前
HTTPS协议
java
acd120091 小时前
Nginx 反向代理的缓冲区坑:后端响应大时接口偶发 502
java·运维·nginx
装不满的克莱因瓶1 小时前
支付订单成功异步MQ权益发放设计和开发
java·架构·系统架构·rabbitmq·硬件架构
程序员清风1 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络