尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程
📅 发布时间:2026/6/20 18:57:55

Ubuntu 框架使用 Docker 部署 Jenkins 详细教程

Jenkins 是一款开源的自动化服务器工具,基于 Java 开发,用于实现持续集成(CI)和持续交付(CD),广泛应用于软件开发领域。其核心价值在于通过自动化构建、测试和部署流程,帮助开发团队提高效率、提升软件质量,并促进团队协作。

核心功能与特点

  1. 持续集成(CI)
    • 自动触发构建:Jenkins 可根据代码仓库(如 Git、SVN)的提交事件或预定义时间表,自动拉取最新代码并执行构建。
    • 早期问题发现:通过频繁构建和自动化测试,快速定位代码缺陷,降低修复成本。
    • 系统健康检查:持续监控代码质量,减少发布风险。
  2. 持续交付(CD)
    • 自动化部署:将通过测试的代码自动部署到预生产环境,支持更广泛的验证。
    • 缩短发布周期:与配置管理工具(如 Ansible、Chef)集成,实现快速、可靠的部署流程。
  3. 分布式构建
    • 并行处理:支持多节点并行构建,显著提升构建速度,尤其适用于大型项目。
    • 资源优化:合理分配计算资源,避免单点瓶颈。
  4. 插件生态系统
    • 功能扩展:拥有超过 1,800 个插件,覆盖版本控制(Git、SVN)、构建工具(Maven、Gradle)、测试框架(JUnit、Selenium)、部署工具(Docker、Kubernetes)等。
    • 定制化需求:用户可根据项目需求选择插件,或开发自定义插件。
  5. 可视化界面与操作
    • 直观管理:提供 Web 界面,支持任务配置、构建历史查看、状态监控等。
    • 脚本支持:兼容 Groovy、Shell 等脚本语言,满足复杂自动化需求。
  6. 消息通知与报告
    • 实时反馈:通过 RSS、Email 通知构建结果,生成 JUnit/TestNG 测试报告。
    • 数据可视化:以图表形式展示构建趋势和稳定性,辅助决策。

应用场景

  1. Web/移动应用开发:自动化构建、测试和部署,确保快速迭代。
  2. 嵌入式系统:管理硬件相关代码的持续集成,提升开发效率。
  3. DevOps 实践:作为核心工具,连接开发、测试和运维环节,实现高效协作。

优势与价值

  1. 开源免费:降低企业成本,支持社区驱动的功能迭代。
  2. 跨平台支持:兼容 Windows、Linux、macOS 等操作系统。
  3. 易用性与灵活性:提供多种安装方式(如 WAR 包、Docker 容器),支持快速部署。
  4. 社区支持:庞大用户社区提供技术支持、经验分享和插件共享。

典型工作流程

  1. 代码提交:开发者将代码推送至 Git 仓库。
  2. 自动触发:Jenkins 检测到变更后,拉取代码并执行构建。
  3. 自动化测试:运行单元测试、集成测试,生成测试报告。
  4. 部署验证:将通过测试的代码部署至预生产环境,进行进一步验证。
  5. 反馈与修复:根据测试结果反馈问题,开发者快速修复并重新提交。

常见问题与解决方案

  1. 端口冲突:修改 Jenkins 配置文件中的端口号。
  2. 内存不足:增加 JVM 内存或优化系统资源。
  3. 构建失败:检查日志,定位代码编译错误或测试用例问题。
  4. 权限问题:配置 SSH 密钥或调整服务用户权限。
  5. 插件冲突:检查插件版本兼容性,按规范安装/升级。

总结

Jenkins 通过自动化构建、测试和部署流程,结合持续集成和持续交付的最佳实践,成为 DevOps 领域的关键工具。它不仅提升了软件交付速度和质量,还促进了团队协作和持续改进的文化。对于追求高效开发和稳定交付的团队而言,Jenkins 是一个不可或缺的选择。

一、环境准备

点击安装 Docker

二、创建 Jenkins 工作目录

mkdir -p ~/jenkins && cd ~/jenkins  # 创建项目目录
mkdir jenkins_home                  # 创建 Jenkins Home 目录(将挂载为 /var/jenkins_home)
chown -R 1000:1000 jenkins_home     # 设置权限(Jenkins 容器默认用户为 jenkins,UID=1000)

三、编写 docker-compose.yml 文件

nano docker-compose.yml

粘贴以下内容:

version: '3.8'
services:jenkins:image: jenkins/jenkins:lts  # 使用长期支持版本container_name: jenkinsports:- "8080:8080"    # Web 访问端口- "50000:50000"  # 用于 Jenkins Agent 通信volumes:- ./jenkins_home:/var/jenkins_home          # 持久化 Jenkins 数据- /var/run/docker.sock:/var/run/docker.sock # 允许 Jenkins 调用宿主机 Docker- /usr/bin/docker:/usr/bin/docker           # 挂载 Docker CLI(可选)restart: unless-stoppedprivileged: true  # 启用特权模式(构建 Docker 镜像需要)network_mode: bridgeenvironment:JAVA_OPTS: "-Djenkins.install.runSetupWizard=true"user: "1000:1000"  # 匹配宿主机 jenkins_home 权限

说明:

  • jenkins/jenkins:lts:官方 LTS 镜像,稳定可靠
  • 挂载 docker.sock:允许 Jenkins 在容器内构建和推送 Docker 镜像
  • restart: unless-stopped:服务器重启后自动启动
  • user: 1000:1000:避免权限问题

 四、启动 Jenkins 容器

docker compose up -d     # 启动服务

五、初始化 Jenkins

  • 打开浏览器访问:http://<你的服务器IP>:8080

  • 获取初始管理员密码:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  • 粘贴密码,进入设置向导。

  • 选择插件:

    • 推荐选择 “Install suggested plugins”(安装推荐插件)
    • 常见插件会自动安装:Git、Pipeline、SSH、Docker Pipeline 等
  • 创建第一个管理员用户(建议记录用户名和密码)

  • 设置 Jenkins URL(如 http://ci.yourcompany.com 或 http://<IP>:8080)

  • 完成安装。

七、常见问题排查

问题解决方案
容器启动失败检查目录权限:chown -R 1000:1000 jenkins_home
无法调用 Docker确认 /var/run/docker.sock 已挂载,且用户在 docker 组
插件安装慢更换为清华源
构建报错权限问题在 docker-compose.yml 中添加 privileged: true

 八、后续扩展建议

  • 集成 GitLab/GitHub Webhook:实现代码提交自动触发构建
  • 使用 Pipeline as Code:通过 Jenkinsfile 管理 CI/CD 流程
  • 对接 Kubernetes:使用 Kubernetes Plugin 动态创建构建节点
  • 迁移到 Helm + K8s:适用于大规模集群管理

通过以上步骤,一个稳定、安全、可维护的企业级 Jenkins CI/CD 平台已成功部署。它不仅为团队提供了自动化的构建与交付能力,也为持续集成文化的落地奠定了坚实基础。自动化之路从此启程,让每一次代码变更都高效、可靠、可追溯。

相关新闻

  • function sql的错误处理方法
  • function sql的示例代码有哪些
  • 大企业数字化项目失败困局与破局之道

最新新闻

  • Ubuntu 20.04 安装 Webmin 可视化运维工具完整指南
  • 攀枝花市黄金回收猫腻多怎么办?整理了5家诚信回收店供参考 - 奢金阁
  • 旧金饰变现不想亏?这5家大庆回收门店报价较实在 - 嵩山路大王
  • 基于行为一致性的跨模态世界模型:从强化学习到文本交互的智能体迁移
  • 旧金饰变现不想亏?这5家丹东回收门店报价较实在 - 嵩山路大王
  • 盘锦市今日黄金回收价格多少?本地5家口碑门店报价参考 - 奢金阁

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号