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

4.8 KiB
Raw Blame History

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仓库凭据

  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脚本命令行,输入:

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. 验证部署

构建成功后访问:

# 生产环境 (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. 安全建议

  1. 使用强密码: 确保服务器密码足够复杂
  2. 限制SSH访问: 配置防火墙仅允许Jenkins服务器访问
  3. 定期更新密码: 定期修改服务器密码并更新Jenkins凭据
  4. 监控登录日志: 定期检查服务器登录日志

🎉 完成!

按照以上步骤配置后您就可以使用用户名密码的方式进行Jenkins CI/CD了

如果遇到问题,请检查:

  1. 凭据ID是否正确 (deploy-server-ssh)
  2. 用户名密码是否正确
  3. 目标服务器SSH服务是否正常
  4. Jenkins服务器是否安装了sshpass