java_demo/JENKINS_PASSWORD_SETUP.md
wangtianqi abdb259a9f 更新Jenkins配置支持SSH用户名密码认证 + 添加详细的Jenkins面板操作指南
- 修改Jenkinsfile支持SSH用户名密码认证方式
- 添加JENKINS_PANEL_GUIDE.md详细操作指南
- 添加QUICK_START.md快速配置清单
- 添加服务器配置脚本支持用户名密码认证
- 更新配置文档和部署说明
2025-06-23 18:39:00 +08:00

205 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Jenkins 用户名密码配置快速指南
## 🚀 简化配置步骤(使用用户名密码)
### 1. 准备工作
#### 1.1 确保目标服务器SSH配置
在您的目标服务器 (116.62.163.84) 上执行:
```bash
# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
# 确保以下配置项
PasswordAuthentication yes
PermitRootLogin yes
# 重启SSH服务
sudo systemctl restart sshd
```
#### 1.2 安装sshpass在Jenkins服务器上
```bash
# 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仓库凭据
1. **管理Jenkins****凭据****系统****全局凭据****添加凭据**
2. 配置信息:
```
类型: Username with password
范围: 全局
用户名: wangtianqi
密码: [您的Git密码]
ID: git-credentials
描述: Git Repository Access
```
#### 2.2 服务器SSH凭据
1. **管理Jenkins** → **凭据** → **系统** → **全局凭据** → **添加凭据**
2. 配置信息:
```
类型: Username with password
范围: 全局
用户名: root
密码: [服务器root密码]
ID: deploy-server-ssh
描述: Deploy Server SSH Access
```
### 3. 创建Pipeline项目
#### 3.1 新建项目
1. **Jenkins首页** → **新建任务**
2. **任务名称**: `java-demo-pipeline`
3. **选择类型**: `Pipeline`
4. **点击确定**
#### 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** → **脚本命令行**,输入:
```groovy
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. 构建执行
1. **保存项目配置**
2. **点击立即构建**
3. **查看构建日志**:点击构建号 → **控制台输出**
### 8. 构建流程说明
```
🔄 代码检出 → 🔍 环境检查 → 🔨 编译 → 🧪 单元测试
🔍 代码扫描 → 📦 打包 → 🐳 构建镜像 → 📤 传输镜像
🚀 部署应用 → 🏥 健康检查 → ✅ 完成
```
### 9. 分支部署策略
- **main/master分支**: 部署到生产环境 (端口80)
- **develop分支**: 部署到测试环境 (端口8080)
- **feature分支**: 部署到测试环境 (端口8080)
### 10. 验证部署
构建成功后访问:
```bash
# 生产环境 (main分支)
curl http://116.62.163.84/api/health
# 测试环境 (develop分支)
curl http://116.62.163.84:8080/api/health
```
### 11. 常见问题
#### Q1: sshpass命令未找到
**解决方案**: 在Jenkins服务器上安装sshpass
```bash
sudo apt-get install sshpass # Ubuntu
sudo yum install sshpass # CentOS
```
#### Q2: SSH连接被拒绝
**解决方案**: 检查目标服务器SSH配置
```bash
# 在目标服务器上
sudo vi /etc/ssh/sshd_config
# 确保 PasswordAuthentication yes
sudo systemctl restart sshd
```
#### Q3: Docker权限不足
**解决方案**: 将jenkins用户添加到docker组
```bash
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
```
### 12. 安全建议
1. **使用强密码**: 确保服务器密码足够复杂
2. **限制SSH访问**: 配置防火墙仅允许Jenkins服务器访问
3. **定期更新密码**: 定期修改服务器密码并更新Jenkins凭据
4. **监控登录日志**: 定期检查服务器登录日志
---
## 🎉 完成!
按照以上步骤配置后您就可以使用用户名密码的方式进行Jenkins CI/CD了
如果遇到问题,请检查:
1. 凭据ID是否正确 (`deploy-server-ssh`)
2. 用户名密码是否正确
3. 目标服务器SSH服务是否正常
4. Jenkins服务器是否安装了sshpass