Jenkins 最稳部署指南(含版本选择、Compose 部署、插件推荐)


🧩 Jenkins 版本该怎么选?

Jenkins 官方的版本发布分为两条线:

① LTS(长期支持版)

  • 12 周 选择一次稳定版本
  • 4 周 发布一次小版本(安全补丁 + Bug 修复)
  • 🔥 推荐生产环境使用

② Weekly(每周版)

  • 一周一发
  • 新功能快,但可能存在不稳定因素
  • 🔥 推荐测试环境、插件开发者使用

🛠 Jenkins 支持的 Java 版本对照表

这个表非常关键,如果 Java 版本选错,Jenkins 会直接启动失败!

Java 版本 LTS 版本 Weekly 版本
Java 17 / 21 2.479.1 (2024-10) 2.463 (2024-06)
Java 11 / 17 / 21 2.426.1 (2023-11) 2.419 (2023-08)
Java 11 / 17 2.361.1 (2022-09) 2.357 (2022-06)
Java 8 / 11 / 17 2.346.1 (2022-06) 2.340 (2022-03)
Java 8 / 11 2.164.1 (2019-03) 2.164 (2019-02)
Java 8 2.60.1 2.54

📌 关键结论:

2022-06 之后,Jenkins 正式放弃 Java 8

如果你仍然在使用 JDK 1.8 ,那么 Jenkins 只能选择 2.346.x 系列。


🔍 最终版本选择结论

👉 当前环境使用 JDK 1.8

👉 追求 稳定优先

因此最佳选择是:

复制代码
Jenkins LTS 2.346.3

对应 Docker 镜像:

复制代码
jenkins/jenkins:2.346.3-jdk8

这是目前 Java 8 环境下最稳定、插件兼容性最好 的 Jenkins 版本。


🐳 Docker 方式部署 Jenkins

2.1 环境要求

  • Docker ≥ 19.03
  • Docker Compose ≥ 1.27

📦 2.2 Docker Compose 部署

创建 docker-compose.yml

yaml 复制代码
version: '3'
services:
  jenkins:
    image: jenkins/jenkins:2.346.3-jdk8
    container_name: jenkins
    restart: always
    privileged: true
    user: root
    ports:
      - "18080:8080"
      - "50000:50000"
    volumes:
      - "./jenkins_home:/var/jenkins_home"
      - "./logs:/var/log/jenkins"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/etc/localtime:/etc/localtime"
      - "/usr/bin/docker:/usr/bin/docker"

启动 Jenkins:

bash 复制代码
docker-compose up -d

访问地址:

复制代码
http://服务器IP:18080

🌐 Jenkins 镜像源替换(必做)

由于使用的是较老的 Jenkins 版本,如果不换镜像源,会遇到:

  • ❌ 插件无法安装
  • ❌ 插件不兼容
  • ❌ update-center 加载失败

必须切换为国内镜像源。


3.1 获取清华大学 Jenkins 镜像

访问:

复制代码
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json

下载对应版本的 update-center.json


3.2 在 Jenkins 中修改升级站点

路径:

复制代码
Manage Jenkins → Plugins → Advanced → Update Site

把 URL 改为清华镜像地址。


3.3 替换 Jenkins 本地 default.json

① 查找 default.json

bash 复制代码
find / -name default.json

通常位于:

复制代码
/var/jenkins_home/updates/default.json

② 备份

bash 复制代码
cp default.json default.json.bak

③ 替换文件

上传清华源 update-center.json,重命名为:

复制代码
default.json

⚠ 如果文件内容是:

js 复制代码
updateCenter.post({...})

请手动删除 updateCenter.post(),只保留纯 JSON {...},否则 Jenkins 会自动删除该文件。


🔌 Jenkins 插件推荐(稳定组合)

4.1 通用必备插件

Pipeline

  • Pipeline
  • Pipeline: Stage View
  • Pipeline: Declarative Agent API

Git

  • Git
  • GitHub Integration
  • Bitbucket Integration

凭据

  • Credentials
  • Credentials Binding

构建工具

  • Maven Integration
  • Gradle

部署

  • Publish Over SSH
  • SSH Agent

日志增强

  • AnsiColor

Node 支持

  • NodeJS Plugin

节点管理

  • SSH Build Agents
  • Node and Label Parameter
  • Nodes and Clouds

4.2 容器化相关

  • Docker Pipeline
  • Docker Plugin
  • Kubernetes Plugin(如使用 K8s)

4.3 测试 & 质量

  • JUnit
  • SonarQube Scanner
  • HTML Publisher

4.4 流水线触发

  • Webhook Trigger
  • Parameterized Trigger
  • Build Token Root

4.5 管理 & 运维

  • Blue Ocean(强烈推荐)
  • Metrics
  • Role-Based Authorization Strategy(RBAC 权限)
  • Job Configuration History(配置回溯)

更多内容可以关注公众号 linux运维客栈 获取

相关推荐
云和数据.ChenGuang1 小时前
jenkins安装需要多少版本的jdk
java·servlet·jenkins
扶苏瑾1 小时前
线程安全问题的产生原因与解决方案
java·开发语言·jvm
珹洺1 小时前
Java-servlet(五)手把手教你利用Servlet配置HTML请求与相应
java·运维·服务器·前端·servlet·html·maven
带刺的坐椅1 小时前
Java 版 Claude Code CLI 来了!(国产开源)Solon Code CLI 发布
java·ai·agent·solon·claudecode·soloncode
FYKJ_20102 小时前
springboot大学校园论坛管理系统--附源码42669
java·javascript·spring boot·python·spark·django·php
Open Source Thoughts2 小时前
OpenClaw.ai:Agentic AI 时代的“SpringFramework”时刻
java·人工智能·spring·prompt·开源软件·agi·ai-native
forestsea2 小时前
优雅终结启动顺序噩梦:ObjectProvider —— Spring 4.3 开始引入
java·后端·spring
小楼v2 小时前
⭐解锁RAG与Spring AI的实战应用(万字详细教学与完整步骤流程实践)
java·后端·rag·spring ai·ai大模型应用
希忘auto2 小时前
Spring IoC和DI
java