name: 自动部署 Spring Boot 项目到 CentOS 🚀 on: push: branches: - main # 当代码推送到 main 分支时触发部署 jobs: deploy: runs-on: ubuntu-latest steps: # 1️⃣ 检出代码 - name: 🛠️ 检出代码 uses: actions/checkout@v3 # 2️⃣ 设置 Java 环境 - name: ☕ 设置 Java 环境 uses: actions/setup-java@v3 with: java-version: "17" # 替换为您的 Java 版本 distribution: "temurin" # 3️⃣ 构建 Spring Boot 项目 - name: 📦 构建 Spring Boot 项目 run: | ./mvnw clean package -DskipTests ls target/*.jar # 4️⃣ 部署到服务器 - name: 🚀 部署到服务器 env: DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }} # SSH 私钥 run: | # 配置 SSH 🔑 echo "$DEPLOY_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H $SERVER_IP >> ~/.ssh/known_hosts # 上传 JAR 包到服务器 📤 scp target/*.jar $USER@$SERVER_IP:/jinduguanli/app.jar # 在服务器上重启应用 🔄 ssh $USER@$SERVER_IP << 'EOF' cd /jinduguanli pkill -f 'java -jar' || true nohup java -jar app.jar --spring.config.location=/huertian/application.yml> /huertian/log/app.log 2>&1 & exit EOF