ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Jenkins学习笔记:Docker 部署与第一个 Pipeline 任务 - PC2005

2026/8/5 22:41:51 拓冰建站 浏览量
Jenkins学习笔记:Docker 部署与第一个 Pipeline 任务 - PC2005

Jenkins是什么,为什么要学它

Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)。它可以自动化构建、测试、部署的流程,你每次提交代码,Jenkins 都可以自动拉取代码 → 运行测试 → 打包 → 部署到服务器。

为什么要学它:

  • 面试必考:CI/CD 是 DevOps 的核心实践,Jenkins 是目前最主流的 CI/CD 工具
  • 提效:手动部署又慢又容易出错,Jenkins 一键自动化
  • 生态丰富:上千款插件,可以跟 Git、Docker、K8s、Maven、Gradle 等工具深度集成

掌握它可以做什么

  1. 自动拉取代码 — 监听 Git 仓库变化,代码一推送就触发构建
  2. 自动构建打包 — Maven/Gradle 编译、npm build、Docker 镜像构建
  3. 自动运行测试 — 单元测试、集成测试,失败及时告警
  4. 自动部署发布 — 推送到测试/生产服务器,或部署到 K8s
  5. 流水线可视化 — 用 Pipeline + Blue Ocean 看到每一步的执行过程

Docker 部署

docker compose配置

name: "Jenkins"   services:  jenkins:  image: jenkins/jenkins:lts  container_name: jenkins  user: root  ports:  - "34560:8080"  - "34561:50000"  volumes:  - /volume/Jenkins/jenkins_home:/var/jenkins_home  - /var/run/docker.sock:/var/run/docker.sock

映射说明

  • 34560:8080 — Jenkins Web 控制台端口
  • 34561:50000 — Jenkins Agent(节点)通信端口
  • /volume/Jenkins/jenkins_home — Jenkins 工作目录,所有配置、插件、Job 数据都在这
  • /var/run/docker.sock — 挂载 Docker 套接字,让容器内部能调用宿主机的 Docker

部署后初始化

1. 获取管理员密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

输出示例

9b7e8ab8179b418fabe23c8d0e01dcb9

2. Web UI 设置

访问 http://localhost:34560/ ,进入登录系统,输入初始密码

PixPin_2026-07-05_21-00-45.png

输入密码后弹出安装插件的提示,点击安装推荐插件

不装这些,你后面做 CI/CD 寸步难行。

页面会显示所有即将安装的插件列表,推荐列表里默认包含:

  • Git:拉取代码必备
  • Pipeline:写流水线(Jenkinsfile)核心
  • Maven/Gradle:Java 项目打包用
  • Credentials:管理账号密码(镜像仓库、K8s)
  • Blue Ocean:更美观的 UI,适合新手看流程

安装完成后注册管理员用户,输入用户名、密码、邮箱等信息

然后配置 Jenkins URL,本地学习就保持默认即可

直接保持默认 http://localhost:34560/,点保存即可,不用修改

说明

  1. 你本地访问、测试、跑流水线,默认值完全够用,不影响构建、拉代码、执行 docker/helm/kubectl 等核心功能。
  2. 这个地址主要用于:邮件通知、Git 状态回写、外部跳转链接。个人学习 / 本地环境用不到这些高级功能。
  3. 后续如果要局域网 / 其他电脑访问,再改成你的电脑本机 IP(例如 http://192.168.x.x:34560/)就行。

然后就进入了 Jenkins 的控制台了

image.png

创建第一个 Pipeline 任务

点击 New Item(新建任务)

你可以看到有多个任务类型,这里简单介绍:

  • Freestyle project — 自由风格项目,通过 UI 配置构建步骤,适合简单任务
  • Pipeline — 流水线,通过编写 Jenkinsfile 脚本定义构建流程,推荐使用
  • Multibranch Pipeline — 多分支流水线,自动为每个 Git 分支创建流水线
  • Folder — 文件夹,用来归类整理 Job

作为初学,选流水线 (Pipeline)

下滑找到流水线脚本输入框,输入以下内容:

pipeline {agent any stages {stage('版本检查') {steps {sh 'echo "Jenkins 本体工作正常"'}}}
}

然后保存,点击立即构建。构建成功后查看控制台日志:

image.png

可以看到一切正常,第一行输出 Started by user xxx,最后显示 Finished: SUCCESS

总结

Jenkins 的核心价值在于自动化一切重复操作。从拉代码、编译、测试到部署,全部交给 Jenkins 自动完成。初学阶段重点掌握:

  1. 会用 Docker 部署 Jenkins
  2. 能创建 Pipeline 任务并写简单的流水线脚本
  3. 结合 Git + Maven/Gradle 实现自动构建
  4. 结合 Docker/K8s 实现自动部署

后续深入学习方向:Pipeline 语法进阶(Declarative vs Scripted)、共享库(Shared Libraries)、分布式构建(Master/Agent)、与 K8s 集成实现动态 Agent。