- 修改Jenkinsfile支持SSH用户名密码认证方式 - 添加JENKINS_PANEL_GUIDE.md详细操作指南 - 添加QUICK_START.md快速配置清单 - 添加服务器配置脚本支持用户名密码认证 - 更新配置文档和部署说明
4.8 KiB
4.8 KiB
Jenkins 用户名密码配置快速指南
🚀 简化配置步骤(使用用户名密码)
1. 准备工作
1.1 确保目标服务器SSH配置
在您的目标服务器 (116.62.163.84) 上执行:
# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
# 确保以下配置项
PasswordAuthentication yes
PermitRootLogin yes
# 重启SSH服务
sudo systemctl restart sshd
1.2 安装sshpass(在Jenkins服务器上)
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y sshpass
# CentOS/RHEL
sudo yum install -y sshpass
# 或者通过EPEL仓库
sudo yum install -y epel-release
sudo yum install -y sshpass
2. Jenkins凭据配置
2.1 Git仓库凭据
- 管理Jenkins → 凭据 → 系统 → 全局凭据 → 添加凭据
- 配置信息:
类型: Username with password 范围: 全局 用户名: wangtianqi 密码: [您的Git密码] ID: git-credentials 描述: Git Repository Access
2.2 服务器SSH凭据
- 管理Jenkins → 凭据 → 系统 → 全局凭据 → 添加凭据
- 配置信息:
类型: Username with password 范围: 全局 用户名: root 密码: [服务器root密码] ID: deploy-server-ssh 描述: Deploy Server SSH Access
3. 创建Pipeline项目
3.1 新建项目
- Jenkins首页 → 新建任务
- 任务名称:
java-demo-pipeline
- 选择类型:
Pipeline
- 点击确定
3.2 配置Pipeline
在项目配置页面的Pipeline部分:
Definition: Pipeline script from SCM
SCM: Git
Repository URL: http://116.62.163.84:15006/wangtianqi/java_demo.git
Credentials: git-credentials (选择刚创建的Git凭据)
Branch: */main
Script Path: Jenkinsfile
4. 工具配置
4.1 JDK配置
管理Jenkins → 全局工具配置 → JDK
名称: JDK-17
自动安装: 勾选
版本: Java 17 (或手动指定JAVA_HOME)
4.2 Maven配置
管理Jenkins → 全局工具配置 → Maven
名称: Maven-3.9.3
自动安装: 勾选
版本: 3.9.3
5. 必需插件
在管理Jenkins → 插件管理中安装:
✅ Maven Integration Plugin
✅ JaCoCo Plugin
✅ Docker Pipeline Plugin
✅ Credentials Plugin (通常已预装)
✅ SSH Credentials Plugin
✅ Pipeline Plugin (通常已预装)
6. 测试连接
6.1 测试Git连接
在Pipeline项目中点击立即构建,查看是否能成功克隆代码。
6.2 测试SSH连接
您可以在Jenkins的脚本命令行中测试SSH连接:
管理Jenkins → 脚本命令行,输入:
withCredentials([usernamePassword(credentialsId: 'deploy-server-ssh', usernameVariable: 'SSH_USER', passwordVariable: 'SSH_PASS')]) {
sh 'sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no $SSH_USER@116.62.163.84 "echo \'SSH连接成功!\'"'
}
7. 构建执行
- 保存项目配置
- 点击立即构建
- 查看构建日志:点击构建号 → 控制台输出
8. 构建流程说明
🔄 代码检出 → 🔍 环境检查 → 🔨 编译 → 🧪 单元测试
↓
🔍 代码扫描 → 📦 打包 → 🐳 构建镜像 → 📤 传输镜像
↓
🚀 部署应用 → 🏥 健康检查 → ✅ 完成
9. 分支部署策略
- main/master分支: 部署到生产环境 (端口80)
- develop分支: 部署到测试环境 (端口8080)
- feature分支: 部署到测试环境 (端口8080)
10. 验证部署
构建成功后访问:
# 生产环境 (main分支)
curl http://116.62.163.84/api/health
# 测试环境 (develop分支)
curl http://116.62.163.84:8080/api/health
11. 常见问题
Q1: sshpass命令未找到
解决方案: 在Jenkins服务器上安装sshpass
sudo apt-get install sshpass # Ubuntu
sudo yum install sshpass # CentOS
Q2: SSH连接被拒绝
解决方案: 检查目标服务器SSH配置
# 在目标服务器上
sudo vi /etc/ssh/sshd_config
# 确保 PasswordAuthentication yes
sudo systemctl restart sshd
Q3: Docker权限不足
解决方案: 将jenkins用户添加到docker组
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
12. 安全建议
- 使用强密码: 确保服务器密码足够复杂
- 限制SSH访问: 配置防火墙仅允许Jenkins服务器访问
- 定期更新密码: 定期修改服务器密码并更新Jenkins凭据
- 监控登录日志: 定期检查服务器登录日志
🎉 完成!
按照以上步骤配置后,您就可以使用用户名密码的方式进行Jenkins CI/CD了!
如果遇到问题,请检查:
- 凭据ID是否正确 (
deploy-server-ssh
) - 用户名密码是否正确
- 目标服务器SSH服务是否正常
- Jenkins服务器是否安装了sshpass