4. Jenkins 基础安装配置
说到 Jenkins,很多新手第一反应就是「装个包,下一步,下一步」。其实这里头门道不少。我个人折腾过好几轮,从最早的 war 包扔 Tomcat,到后来全上 Docker,每种方式都有它最合适的场景。这一章咱们就把安装、插件、工具配置这三块彻底理清楚。
4.1 Jenkins 的安装方式
Jenkins 的安装说白了就两种主流路线:用 Tomcat 跑 war 包,或者直接用 Docker。你想想看,选哪个取决于你团队的基础设施习惯。
4.1.1 基于 Tomcat 部署
这种方式算是经典老路。适合那些已经有成熟 Tomcat 运维体系的团队。
具体步骤:
- 准备好 Tomcat 9+,确保 JDK 11 以上已配置
- 下载 jenkins.war 放到 webapps 目录
- 启动 Tomcat,访问 http://localhost:8080/jenkins
- 从日志或指定文件获取初始管理员密码
对应的命令很简单:
wget https://get.jenkins.io/war-stable/2.440.3/jenkins.war
cp jenkins.war /opt/tomcat/webapps/
/opt/tomcat/bin/startup.sh
tail -f /opt/tomcat/logs/catalina.out
4.1.2 基于 Docker 部署
我个人习惯用 Docker,原因很简单——干净、可重复、好升级。特别是做 Pipeline 实验的时候,搞坏了直接删容器重来。
基础启动命令:
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts-jdk11
你看,一行命令 Jenkins 就跑起来了。这里挂载了 jenkins_home 卷,数据不会丢。
两种方式对比:
| 对比项 | Tomcat 部署 | Docker 部署 |
|---|---|---|
| 环境依赖 | 需安装 JDK + Tomcat | 只需 Docker 引擎 |
| 资源隔离 | 弱,共享宿主机 JVM | 强,容器独立 |
| 升级回滚 | 替换 war 包 | 切换镜像 Tag |
| 扩展性 | 需手动配反向代理 | 天然支持 compose/swarm |
| 适用场景 | 已有 Tomcat 运维体系 | 云原生、容器化团队 |
下面这张图帮你快速决定选哪种方式:
4.2 插件管理
Jenkins 强大就强在插件生态。但插件多了也容易乱——依赖冲突、版本不对、升级炸掉到案例我见过不少。
4.2.1 插件的安装方式
有三种方式可以装插件:
- UI 在线安装:系统管理 > 插件管理 > 可选插件,搜索安装
- 离线安装:下载 .hpi 文件,上传到插件管理页面
- 命令行安装:通过 Jenkins CLI 或直接丢到 plugins 目录
大规模部署时,我推荐用命令行方式,方便自动化:
# 设置环境变量
JENKINS_URL=http://localhost:8080
JENKINS_USER=admin
JENKINS_TOKEN=your_api_token
# 安装插件
java -jar jenkins-cli.jar -s $JENKINS_URL \
-auth $JENKINS_USER:$JENKINS_TOKEN \
install-plugin \
blueocean \
pipeline-stage-view \
git \
docker-workflow
# 重启 Jenkins 使插件生效
java -jar jenkins-cli.jar -s $JENKINS_URL \
-auth $JENKINS_USER:$JENKINS_TOKEN \
safe-restart
4.2.2 常见插件清单
| 插件名称 | 用途 | 优先级 |
|---|---|---|
| Pipeline | 核心流水线引擎 | 必装 |
| Git / GitHub | 代码拉取与 Webhook | 必装 |
| Blue Ocean | 流水线可视化界面 | 推荐 |
| Docker Pipeline | Pipeline 中调用 Docker | 推荐 |
| Credentials Binding | 凭证安全注入 | 必装 |
| Email Extension | 构建结果邮件通知 | 按需 |
4.2.3 插件管理避坑
- 版本锁定:生产环境要把 plugins.txt 列入版本管理
- 升级策略:先在测试 Jenkins 上升级,稳定了再推生产
- 依赖冲突:装插件时注意看它依赖了什么版本
4.3 全局工具配置
工具配置是 Jenkins 真正能干活的保证。说白了就是告诉 Jenkins:「JDK 在哪」、「Maven 在哪」、「Git 在哪」。
进入路径:系统管理 > 全局工具配置。
4.3.1 JDK 配置
有两种方式:自动安装或指定本地路径。
自动安装(推荐):
# 在全局工具配置页面
# 新增 JDK
# 别名: JDK17
# 勾选 "Install automatically"
# 选择版本: jdk-17.0.9+9
本地路径配置:
# 适用于已有预装 JDK 的环境
# 别名: JDK11-Local
# 取消 "Install automatically"
# JAVA_HOME: /usr/lib/jvm/java-11-openjdk
4.3.2 Git 配置
Jenkins 默认自带一个 Git 客户端,但版本可能较老。我建议显式指定系统的 Git:
# 路径直接写 git 命令
# Name: Default
# Path to Git executable: /usr/bin/git
可以用 which git 确认路径:
which git
# 输出类似: /usr/bin/git
4.3.3 Maven 配置
和 JDK 一样,支持自动安装和本地路径:
# 自动安装
# Name: Maven3
# Install automatically
# 版本选择: 3.9.6
# 本地路径
# Name: Maven-Local
# MAVEN_HOME: /opt/apache-maven-3.9.6
4.3.4 Docker 配置
如果 Pipeline 要用到 Docker,记得在全局工具里配置 Docker 客户端:
# Name: Docker
# Docker URL: unix:///var/run/docker.sock
# 或者远程 Docker 守护进程
# Docker URL: tcp://192.168.1.100:2375
4.3.5 工具配置清单示例
整理一下我个人的推荐配置:
| 工具 | 配置方式 | 版本 | 备注 |
|---|---|---|---|
| JDK | 自动安装 | 17 | LTS 版本,适合生产 |
| Maven | 自动安装 | 3.9.6 | 与团队一致 |
| Git | 本地路径 | 系统自带 | which git 确认 |
| Docker | 本地路径 | 最新稳定版 | 挂载 docker.sock |
好了,Jenkins 的基础安装配置到这就差不多了。记住三件事:安装选对路子,插件只装必要的,工具版本统一。做到这三点,后面写 Pipeline 的时候就能少踩一半坑。