4、Jenkins 安装与配置
Jenkins 是什么?说白了,它就是 CI/CD 流水线的「调度中枢」。你把代码提交到仓库,它自动拉下来、编译、测试、打包、部署。没有它,你每次都得手动跑脚本,一天重复几十次……我刚开始搞 CI 时,就是手动敲命令,后来实在受不了了,才入坑 Jenkins。
这章咱们重点讲清楚:怎么把它装起来,怎么配好基本环境,让机器替你干活。下面我按实际动手的顺序走一遍。
4.1 下载与安装
Jenkins 有两种主流安装方式:直接用 war 包跑,或者通过包管理器安装。我个人习惯用 war 包,简单,升级也方便。
- 下载 war 包:去官方网站(jenkins.io)找 LTS 版本,别手贱选每周版,稳定性差一些。我在生产环境一直用 LTS,没出过大问题。
- 安装:把 war 扔到一个目录,比如
/opt/jenkins/。 - 启动:直接
java -jar jenkins.war --httpPort=8080。端口号你随意,注意别跟其他服务冲突。
嗯,这里要注意:如果是生产服务器,我建议用 systemd 管理 Jenkins 进程,这样开机自启、日志轮转都省心。示例 service 文件片段:
[Unit]
Description=Jenkins Service
After=network.target
[Service]
User=jenkins
ExecStart=/usr/bin/java -jar /opt/jenkins/jenkins.war --httpPort=8080
Restart=always
[Install]
WantedBy=multi-user.target
4.2 初始化配置
启动后,浏览器访问 http://你的IP:8080。第一次打开会让你输一个初始管理员密码:
- 找到密码文件:Jenkins 会告诉你路径,默认在
~/.jenkins/secrets/initialAdminPassword。 - 粘贴密码,点继续。
- 选择「安装推荐的插件」—— 这是新手最稳的选项。但说实话,推荐插件里有一堆你可能永远用不上的(比如各种云 provider),不过无伤大雅。
- 创建第一个管理员用户:填个用户名、密码、邮箱。这个信息后面可以改,别纠结。
- 设置 Jenkins URL:默认就是当前服务器的地址和端口,确认即可。
到这里,一个能跑的 Jenkins 就准备好了。我曾经在演示的时候忘了记密码,直接去服务器改了 ~/.jenkins/config.xml 里的 <useSecurity>false</useSecurity>,然后重启、重新设置……这个骚操作不太推荐,但救急有效。
4.3 插件管理
插件是 Jenkins 的灵魂。没有插件,它就是一个只能看首页的空壳。管理入口:系统管理 → 插件管理。
| 操作 | 入口 | 说明 |
|---|---|---|
| 安装插件 | 可选插件 → 搜索 → 勾选 → 安装 | 支持等待安装或者立即下载后重启 |
| 更新插件 | 更新 → 勾选 → 下载并重启 | 我一般每月挑个低峰期更新,避免兼容性问题 |
| 卸载插件 | 已安装 → 勾选 → 卸载 | 有些插件删不干净,需要手动清理插件目录 |
核心必备插件(我每次搭新环境都会装的):
- Git plugin — 拉代码必备
- Pipeline — 流水线编排
- Blue Ocean — 可视化流水线(颜值高,调试方便)
- Credentials Binding — 凭证管理
- Maven Integration — 如果你用 Maven 构建
- NodeJS plugin — 如果前端项目需要 Node 环境
4.4 全局工具配置
我们需要告诉 Jenkins:JDK 装在哪、Maven 在哪、Node.js 在哪。位置:系统管理 → 全局工具配置。
4.4.1 JDK
- 点击「新增 JDK」。
- 别名填个有意义的名字,比如
JDK11。 - 选择「自动安装」或「指定已安装路径」。
- 自动安装的话,Jenkins 会去 Oracle/Adoptium 下载——但国内网络可能慢。我建议手动安装:先把 JDK 解压到服务器固定位置(如
/usr/local/jdk11),然后填 JAVA_HOME。
配置示例(手动安装):
名称: JDK11
JAVA_HOME: /usr/local/jdk11
4.4.2 Maven
- 新增 Maven → 别名
Maven3.9。 - 自动安装:勾选,选择版本。Jenkins 会从 Apache 官网下载,速度还行。
- 手动安装:把 Maven 解压到
/opt/maven,填写 MAVEN_HOME。
小技巧:用自动安装时,Jenkins 会把 Maven 下载到 $JENKINS_HOME/tools 目录下。如果你多台 Jenkins 共享一个 NFS 存储,可以手动下载一次,然后软链过去,省得每台都下载。
4.4.3 Node.js
- 需要先安装 NodeJS plugin(前面推荐过)。
- 新增 NodeJS → 别名
Node18。 - 自动安装:选择版本号,勾选「全局安装」。
- 手动安装:指定
/usr/local/node路径。
为什么我强调这三个工具?因为你的 CI 流水线大概率要同时处理 Java 后端、前端页面、构建打包。缺少任何一个,流水线就会卡在第 2 步。我见过一个团队配了 JDK 忘了配 Node,前端构建一直报 `command not found`,排查了半小时……
4.5 验证配置是否生效
很简单,建一个 Freestyle 项目,在构建步骤里写个 shell 命令:
echo "JDK:"
java -version
echo "Maven:"
mvn -version
echo "Node:"
node -v
npm -v
跑一次构建,看控制台输出。如果版本号正常显示,就说明全局工具配置成功了。如果报错「找不到命令」,回去检查路径和别名。
好了,到这里 Jenkins 已经具备了基本的自动化构建能力。下一块内容我们会开始写真正的流水线脚本,让冒烟测试自动跑起来。但先别急——先把环境搞扎实,后面才不会翻车。