Linux Docker 部署 Jenkins 详解教程
目录
前置环境准备
在开始部署之前,需要确保以下环境已经准备就绪:
1. 操作系统
推荐使用支持良好的 Linux 发行版,如 Ubuntu 20.04+ 或 CentOS 7/8。
2. Docker 环境
请确保 Docker 已安装并配置完成:
安装 Docker
以下以 Ubuntu 为例:
sudo apt update
sudo apt install -y docker.io
启用 Docker 服务
sudo systemctl enable docker
sudo systemctl start docker
验证安装是否成功
docker --version
3. 配置非 root 用户运行 Docker
为了方便操作,可以将当前用户添加到 Docker 用户组:
sudo usermod -aG docker $USER
注意:执行上述命令后需要重新登录以生效。
使用 Docker 快速部署 Jenkins
拉取官方 Jenkins 镜像
Jenkins 官方提供了基于 LTS(长期支持版)的 Docker 镜像,运行更稳定:
docker pull jenkins/jenkins:lts
启动 Jenkins 容器
使用以下命令运行 Jenkins 容器:
docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
参数说明:
--name jenkins
:指定容器名称为jenkins
。-p 8080:8080
:映射 Jenkins 的 Web 访问端口。-p 50000:50000
:映射 Jenkins 的代理通信端口。-v jenkins_home:/var/jenkins_home
:挂载数据卷,用于持久化存储 Jenkins 配置和数据。
启动后,可通过浏览器访问 http://<服务器IP>:8080
查看 Jenkins 界面。
Jenkins 配置详解
首次访问与解锁
-
打开浏览器,访问
http://<服务器IP>:8080
,会看到 Jenkins 的初始化界面。 -
解锁 Jenkins:
- 在终端中获取解锁密钥:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- 将输出的密钥复制粘贴到界面中完成解锁。
- 在终端中获取解锁密钥:
-
选择安装推荐的插件,等待安装完成。
-
创建管理员账户,并完成基本配置向导。
插件安装与管理
Jenkins 的强大功能主要来自丰富的插件生态:
插件安装方法
- 打开 Jenkins 主界面,进入 “管理 Jenkins” -> “管理插件”。
- 在 “可选插件” 中搜索所需插件并点击安装,例如:
- Git Plugin:支持 Git 仓库操作。
- Pipeline Plugin:支持流水线脚本。
- Docker Plugin:集成 Docker 功能。
常用插件推荐
- Git Plugin:集成代码版本控制。
- Pipeline Plugin:支持 CI/CD 流水线自动化。
- Blue Ocean:提供现代化 UI 界面。
- Docker Pipeline:支持构建 Docker 化的项目。
为 Jenkins 配置持久化存储
默认情况下,Jenkins 的数据存储在容器内部。为了避免数据丢失,建议将数据目录挂载到主机。
修改数据目录挂载
停止当前容器:
docker stop jenkins
docker rm jenkins
重新运行容器并指定宿主机路径:
docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v /path/to/jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
Docker 与 Jenkins 的集成
为了让 Jenkins 执行基于 Docker 的构建任务,需要配置 Jenkins 容器能够调用宿主机的 Docker 环境。
安装 Docker 插件
- 在 Jenkins 中打开 “管理 Jenkins” -> “管理插件”。
- 搜索 “Docker”,安装以下插件:
- Docker Plugin
- Docker Pipeline
配置 Docker 环境
授权 Jenkins 调用 Docker
-
启动 Jenkins 容器时挂载 Docker 套接字:
docker run -d --name jenkins \ -p 8080:8080 -p 50000:50000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /path/to/jenkins_home:/var/jenkins_home \ jenkins/jenkins:lts
-
验证 Jenkins 是否能够调用 Docker:
在 Jenkins 管理页面执行 Shell 脚本:docker ps
常见问题与解决方案
-
Jenkins 页面无法访问
- 原因:防火墙未开放端口。
- 解决:确保 8080 和 50000 端口已开放。
-
插件安装失败
- 原因:网络连接问题。
- 解决:为 Jenkins 容器配置代理或使用国内镜像加速。
-
数据丢失问题
- 原因:未启用持久化存储。
- 解决:挂载宿主机目录以持久化数据。
总结
通过 Docker 部署 Jenkins,可以大大简化安装和配置流程,尤其在 CI/CD 流水线场景下显得尤为高效。结合本文的教程,您可以快速上手部署一个高效、稳定的 Jenkins 环境,并结合 Docker 实现更灵活的构建与发布流程。
希望本文对您有所帮助!
原文地址:https://blog.csdn.net/fudaihb/article/details/143961884
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!