3. Jenkins 安装与初始化:基于 Docker 和传统方式的安装步骤,初始化配置向导,插件管理入门

Jenkins 的安装方式主要分为传统 WAR 包部署和容器化部署两种。本节将分别演示基于 Docker 和传统方式的安装步骤,并详细讲解初始化配置向导及插件管理入门操作。

3.1 安装方式对比

对比维度 传统 WAR 包方式 Docker 容器方式
环境依赖 需手动安装 JDK 11/17、Tomcat 或直接运行 仅需 Docker 引擎,镜像自带 JDK
升级维护 手动替换 WAR 包,需重启服务 拉取新镜像,重建容器即可
数据持久化 默认存储在 ~/.jenkins 需挂载宿主机目录或命名卷
插件兼容性 完全兼容,无额外限制 完全兼容,注意容器网络配置
适用场景 已有 Java 环境的传统服务器 云原生、微服务、快速交付团队

3.2 基于 Docker 的安装步骤

Docker 方式是目前最推荐的 Jenkins 部署方案,具有环境隔离、快速启动、易于迁移等优势。

3.2.1 拉取官方 LTS 镜像

docker pull jenkins/jenkins:lts-jdk11

3.2.2 创建数据持久化目录并启动容器

mkdir -p /data/jenkins_home
chown -R 1000:1000 /data/jenkins_home

docker run -d \
  --name jenkins-server \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /data/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart=always \
  jenkins/jenkins:lts-jdk11
提示:挂载 docker.sock 允许 Jenkins 容器内调用宿主机 Docker 守护进程,实现“Docker in Docker”风格的流水线构建。

3.2.3 验证容器运行状态

docker ps | grep jenkins-server
docker logs jenkins-server   # 查看初始管理员密码

3.3 基于传统 WAR 包的安装步骤

适用于无法使用容器环境的传统服务器或已有 Java 中间件的场景。

3.3.1 环境准备

确保已安装 JDK 11 或 JDK 17:

java -version
# 输出示例:openjdk version "11.0.20" 2023-07-18 LTS

3.3.2 下载并启动 Jenkins

wget https://get.jenkins.io/war-stable/2.440.3/jenkins.war
java -jar jenkins.war --httpPort=8080

如需后台运行,可使用 nohup 或注册为系统服务:

nohup java -jar jenkins.war --httpPort=8080 > jenkins.log 2>&1 &

3.4 初始化配置向导

首次访问 http://<服务器IP>:8080 时,Jenkins 会进入初始化向导页面。

初始化流程步骤:
  1. 解锁 Jenkins:从控制台日志或 /data/jenkins_home/secrets/initialAdminPassword 获取初始密码。
  2. 安装推荐插件:选择“安装推荐的插件”,系统自动下载并安装常用插件集。
  3. 创建管理员用户:填写用户名、密码、邮箱,完成第一个管理员账号创建。
  4. 实例配置:确认 Jenkins URL(默认 http://localhost:8080),可根据实际域名修改。
  5. 开始使用:点击“保存并完成”,进入 Jenkins 主面板。
Jenkins 初始化配置向导流程 ① 解锁 Jenkins ② 安装推荐插件 ③ 创建管理员 ④ 实例配置 ⑤ 开始使用 💡 提示:推荐插件安装耗时约 3-5 分钟,请确保网络通畅。创建管理员账号后请妥善保管凭据。

3.5 插件管理入门

插件是 Jenkins 生态的核心扩展机制。通过“系统管理 → 插件管理”可完成插件的查看、安装、更新和卸载操作。

3.5.1 插件管理界面结构

标签页 功能说明
更新 显示已安装插件的可用更新列表,支持批量升级
可选插件 浏览 Jenkins 官方仓库中所有可安装的插件,支持搜索和过滤
已安装 查看当前已安装的插件列表,可卸载或降级
高级 上传自定义 .hpi 插件包,配置更新站点 URL

3.5.2 核心插件推荐清单

以下插件是 CI/CD 流水线场景的必备组件:

  • Pipeline:提供流水线即代码(Jenkinsfile)支持
  • Git:Git 源码管理集成
  • Blue Ocean:现代化流水线可视化界面
  • Credentials Binding:安全管理凭据(SSH、、密码)
  • Docker Pipeline:在流水线中构建和发布 Docker 镜像
  • Kubernetes:动态创建 Kubernetes Pod 作为构建代理

3.5.3 安装插件示例

# 通过 Jenkins CLI 安装插件(需先配置 API )
java -jar jenkins-cli.jar -s http://localhost:8080/ -auth admin: install-plugin \
  pipeline-git \
  blueocean \
  docker-workflow \
  kubernetes
注意:插件版本之间存在依赖关系。安装失败时请检查“插件管理 → 更新”页面的依赖冲突提示,或使用“安装后重启”选项确保插件正确加载。
Jenkins 插件管理架构 Jenkins 核心引擎 插件管理 API + 依赖解析 官方更新站点 自定义 .hpi 上传 源码管理插件 构建/部署插件 🔌 插件扩展 Jenkins 核心能力

3.6 初始化后的安全配置建议

  • 修改默认端口:避免使用 8080 等常见端口,降低扫描攻击风险
  • 启用 CSRF 保护:系统管理 → 全局安全配置 → 勾选“防止跨站点请求伪造”
  • 配置代理节点认证:使用 SSH 密钥或 JNLP 令牌,避免明文密码
  • 定期备份 JENKINS_HOME:包含所有配置、作业定义和构建历史
最佳实践:初始化完成后立即创建非 root 管理员账号,并禁用默认的 admin 账号远程登录。同时配置邮件通知,以便在构建失败或插件更新时及时获知状态。