🚀 Jenkins 安装与配置教程
Jenkins 是一个广泛使用的自动化服务器,常用于 CI/CD 流水线。在这篇教程中,我们将从零开始,教你如何在服务器上安装和配置 Jenkins,并解决常见的问题。
1️⃣ 安装 Jenkins
🛠️ 安装 Jenkins
首先,确保系统已安装 JDK ,因为 Jenkins 需要依赖 Java。
步骤 1:安装 JDK
Jenkins 需要 Java 8+ 。你可以通过以下命令安装 OpenJDK 21:
sudo dnf install -y java-21-openjdk
配置 JAVA_HOME 环境变量:
sudo vi /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
使配置生效:
source /etc/profile
确认安装:
java -version
步骤 2:安装 Jenkins
使用 dnf 安装 Jenkins:
sudo dnf install -y jenkins
2️⃣ 启动 Jenkins
步骤 3:启动 Jenkins 服务
sudo systemctl start jenkins
设置 Jenkins 开机自启:
sudo systemctl enable jenkins
步骤 4:访问 Jenkins
默认情况下,Jenkins 会监听 8080 端口,你可以在浏览器中访问:
http://<your_server_ip>:8080
首次访问时,Jenkins 会要求你输入解锁密码。获取解锁密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
3️⃣ 安装推荐插件
首次启动 Jenkins 时,它会提示你安装 推荐插件 。你可以选择"安装推荐插件"来安装常用插件,这样可以更方便地进行后续配置。
2️⃣ 配置 Jenkins 环境
🛠️ 配置全局工具(JDK、Maven、Git)
Jenkins 支持通过 全局工具配置 来管理 JDK、Maven 和 Git。进入 Jenkins 管理界面 → 系统管理 → 全局工具配置。
步骤 1:配置 JDK
在 JDK 部分配置:
- JDK 名称 :例如
OpenJDK 8 - Java 安装目录 :
/usr/lib/jvm/java-1.8.0-openjdk
步骤 2:配置 Maven
在 Maven 部分配置:
- Maven 名称 :例如
Maven 3 - Maven 安装目录 :
/usr/share/maven
步骤 3:配置 Git
在 Git 部分配置:
- Git 可执行文件 :路径为
/usr/bin/git,如果你已经安装 Git,系统会自动找到它。
4️⃣ 配置 Git 仓库凭证
Jenkins 可以通过 凭证管理 来访问 Git 仓库。你可以在 Jenkins 中配置 用户名/密码 或 SSH 密钥。
步骤 1:配置凭证
- 进入 Jenkins 管理界面 → 凭证 → 系统 → 全局凭证(默认)。
- 点击 添加凭证 ,选择 Git 类型。
- 如果是 HTTPS,填写用户名和密码。
- 如果是 SSH,使用 SSH 密钥对(公钥放在 Git 服务器,私钥存放在 Jenkins 中)。
3️⃣ 创建 Jenkins 项目(Pipeline)
创建一个新的 Pipeline 项目,选择 流水线 类型。
📝 配置 Git 拉取代码
在 Pipeline 脚本中配置 Git 仓库 URL 和凭证 ID。假设我们已经在凭证管理中配置了名为 gitea-login 的凭证:
pipeline {
agent any
stages {
stage('拉代码') {
steps {
git branch: 'master',
url: 'http://192.168.80.129:3000/wxz/signature.git',
credentialsId: 'gitea-login'
}
}
stage('Maven构建') {
steps {
sh 'mvn clean package -DskipTests'
}
}
stage('查看构建产物') {
steps {
sh 'ls -l target'
}
}
stage('停止旧服务') {
steps {
sh '''
PID=$(ps -ef | grep target | grep java | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
echo "停止旧进程 $PID"
kill -9 $PID
else
echo "没有运行中的服务"
fi
'''
}
}
stage('启动新服务') {
steps {
sh '''
cd /var/lib/jenkins/workspace/jenkins-demo
# 杀死旧进程
pkill -f "cloud-v3.0.1.618.jar" || true
sleep 2
# 🔥 核心:用 root 权限启动!解决所有权限/环境问题!
export BUILD_ID=dontKillMe
nohup sudo java -jar \
-Dspring.main.allow-circular-references=true \
-Xms512m -Xmx1024m \
target/test-v3.0.1.999.jar \
--server.port=8081 \
>> nohup.out 2>&1 &
sleep 8
echo "✅ 服务已以 root 权限后台启动成功!"
'''
}
}
stage('检查服务') {
steps {
sh '''
ps -ef | grep java | grep -v grep
'''
}
}
}
}
4️⃣ 安装和配置 MySQL(默认不需要,但是gitea需要数据库)
如果你的项目需要使用数据库(例如 MySQL),你需要安装并配置 MySQL。
🛠️ 安装 MySQL
sudo dnf install -y mysql-server
启动 MySQL 服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
配置 MySQL 密码:
sudo mysql_secure_installation
登录 MySQL 创建数据库:
mysql -u root -p
CREATE DATABASE jenkins;
配置远程访问:
GRANT ALL PRIVILEGES ON jenkins.* TO 'jenkins'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
5️⃣ 常见问题与解决方案
🔥 问题1:Jenkins 启动失败
解决方案:
- 检查 Jenkins 日志:
/var/log/jenkins/jenkins.log - 确保安装了正确的 JDK ,并且
JAVA_HOME设置正确。 - 确保没有端口冲突,Jenkins 默认使用 8080 端口。
🔥 问题2:无法访问 Jenkins(防火墙)
解决方案:
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
🔥 问题3:Git 拉取代码失败
解决方案:
- 检查 Git URL 是否正确。
- 确保 Jenkins 的 凭证管理 中配置了正确的 Git 凭证。
- 如果使用 SSH ,确保 公钥 已添加到 Git 服务器。
🔥 问题4:Maven 构建失败
解决方案:
- 确保系统已安装 Maven ,并且 MAVEN_HOME 配置正确。
- 确保 JDK 和 Maven 在 Jenkins 配置中的路径正确。
🔥 问题5:MySQL 数据库连接失败
解决方案:
- 确保 MySQL 服务已启动,并且防火墙没有阻止 3306 端口。
- 确保数据库配置正确,包括数据库名称、用户名和密码。
🎯 总结
在这篇教程中,我们介绍了如何从零开始配置 Jenkins ,并结合 Maven 、MySQL 和 Git 创建一个完整的 CI/CD 流水线。步骤包括:
- 安装 Jenkins 和 JDK;
- 配置 Maven 和 Git;
- 设置凭证管理,配置 Git 仓库;
- 配置 MySQL 数据库;
- 创建 Jenkins Pipeline 并进行自动化构建;
- 解决常见问题(如防火墙、Git 拉取失败、Maven 构建失败等)。