18.1.3 单机安装与基础配置
单机安装与基础配置#
导语与目标#
- 目标:完成 Jenkins 单机部署,能访问 Web 控制台并执行一次成功构建
- 依赖:JDK 11(推荐)、稳定网络、磁盘 >= 10GB
- 端口:8080(Web)、50000(JNLP Agent)
原理草图(单机部署)#
安装方式与选择建议#
- 包管理安装(推荐):系统服务管理、自动升级
- WAR 包运行:快速验证、便于自定义
- Docker 运行:隔离环境,但需持久化配置
安装方式一:Linux 包管理安装(推荐)#
示例环境:Ubuntu/Debian
# 1) 安装 JDK 11
sudo apt update
sudo apt install -y openjdk-11-jdk
# 验证 JDK 版本
java -version
# 2) 添加 Jenkins 仓库与安装
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc >/dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian binary/" | sudo tee \
/etc/apt/sources.list.d/jenkins.list >/dev/null
sudo apt update
sudo apt install -y jenkins
# 3) 启动与自启
sudo systemctl enable --now jenkins
sudo systemctl status jenkins
命令解释
- systemctl enable --now jenkins:立即启动并设置开机自启
- status jenkins:确认服务运行与最近日志
开放端口
# UFW 防火墙示例
sudo ufw allow 8080/tcp
sudo ufw allow 50000/tcp
sudo ufw reload
sudo ufw status
安装方式二:WAR 包运行(适合测试)#
# 下载并运行
wget https://get.jenkins.io/war-stable/2.452.3/jenkins.war
java -jar jenkins.war --httpPort=8080
# 运行后访问
# http://<IP>:8080
初始化向导与管理员账户#
# 1) 获取初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# 2) 浏览器访问 Jenkins
# http://<IP>:8080
- 建议:安装推荐插件
- 创建管理员账户并记录凭据 设置 Jenkins URL(如 http://:8080)
- 默认 JENKINS_HOME:
/var/lib/jenkins - 日志目录:
/var/log/jenkins/jenkins.log - 权限示例:
基础配置要点(含示例)#
1) 系统配置(Manage Jenkins → System)
- Jenkins URL:http://192.168.1.10:8080
- 邮件通知(可选):SMTP 服务器、端口、发件人
2) 全局工具配置
- Git:/usr/bin/git
- Maven:/opt/maven/bin/mvn
- JDK:自动检测或手动配置
3) 构建节点
- 单机默认使用内置节点(Controller 自身)
目录与权限#
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/log/jenkins
验证:创建任务并执行#
示例:自由风格任务
1. 新建任务 → Freestyle
2. 构建步骤 → Execute shell
3. 输入如下脚本并构建:
# 输出环境与工作目录
echo "Hello Jenkins"
whoami
pwd
date
预期效果
- 控制台输出中出现 Hello Jenkins
- 任务状态为 Success
常见问题排查(含命令)#
1) 服务无法启动
# 查看服务状态与日志
sudo systemctl status jenkins
sudo journalctl -u jenkins -n 200
可能原因:JDK 版本不兼容、端口冲突、权限问题
2) 端口被占用
sudo ss -lntp | grep 8080
# 修改端口(/etc/default/jenkins)
sudo sed -i 's/HTTP_PORT=8080/HTTP_PORT=8090/' /etc/default/jenkins
sudo systemctl restart jenkins
3) 插件安装失败
# 检查网络与代理
curl -I https://updates.jenkins.io/update-center.json
处理:配置代理或离线插件包
练习与巩固#
- 将 Jenkins 端口从 8080 改为 8090,并验证可访问
- 新建一个任务,输出
JAVA_HOME与PATH - 备份
JENKINS_HOME并恢复到测试目录
备份建议#
# 简易备份(停服务后)
sudo systemctl stop jenkins
sudo tar -czf /backup/jenkins_home_$(date +%F).tar.gz /var/lib/jenkins
sudo systemctl start jenkins