自学内容网 自学内容网

Linux Docker 部署 Jenkins 详解教程


目录

  1. 前置环境准备
  2. 使用 Docker 快速部署 Jenkins
  3. Jenkins 配置详解
  4. 为 Jenkins 配置持久化存储
  5. Docker 与 Jenkins 的集成
  6. 常见问题与解决方案
  7. 总结

前置环境准备

在开始部署之前,需要确保以下环境已经准备就绪:

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 配置详解

首次访问与解锁

  1. 打开浏览器,访问 http://<服务器IP>:8080,会看到 Jenkins 的初始化界面。

  2. 解锁 Jenkins:

    • 在终端中获取解锁密钥:
      docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
      
    • 将输出的密钥复制粘贴到界面中完成解锁。
  3. 选择安装推荐的插件,等待安装完成。

  4. 创建管理员账户,并完成基本配置向导。


插件安装与管理

Jenkins 的强大功能主要来自丰富的插件生态:

插件安装方法
  1. 打开 Jenkins 主界面,进入 “管理 Jenkins” -> “管理插件”
  2. “可选插件” 中搜索所需插件并点击安装,例如:
    • Git Plugin:支持 Git 仓库操作。
    • Pipeline Plugin:支持流水线脚本。
    • Docker Plugin:集成 Docker 功能。
常用插件推荐
  1. Git Plugin:集成代码版本控制。
  2. Pipeline Plugin:支持 CI/CD 流水线自动化。
  3. Blue Ocean:提供现代化 UI 界面。
  4. 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 插件

  1. 在 Jenkins 中打开 “管理 Jenkins” -> “管理插件”
  2. 搜索 “Docker”,安装以下插件:
    • Docker Plugin
    • Docker Pipeline

配置 Docker 环境

授权 Jenkins 调用 Docker
  1. 启动 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
    
  2. 验证 Jenkins 是否能够调用 Docker:
    在 Jenkins 管理页面执行 Shell 脚本:

    docker ps
    

常见问题与解决方案

  1. Jenkins 页面无法访问

    • 原因:防火墙未开放端口。
    • 解决:确保 8080 和 50000 端口已开放。
  2. 插件安装失败

    • 原因:网络连接问题。
    • 解决:为 Jenkins 容器配置代理或使用国内镜像加速。
  3. 数据丢失问题

    • 原因:未启用持久化存储。
    • 解决:挂载宿主机目录以持久化数据。

总结

通过 Docker 部署 Jenkins,可以大大简化安装和配置流程,尤其在 CI/CD 流水线场景下显得尤为高效。结合本文的教程,您可以快速上手部署一个高效、稳定的 Jenkins 环境,并结合 Docker 实现更灵活的构建与发布流程。

希望本文对您有所帮助!



原文地址:https://blog.csdn.net/fudaihb/article/details/143961884

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!