name: Build and Deploy Spring Boot

on:
  push:
    branches: [ master ]  # 可以根据需要修改分支名
  workflow_dispatch:    # 允许手动触发

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
      # 检出代码
      - name: 拉取代码
      - uses: actions/checkout@v4

      # 设置JDK环境
      - name: 部署jdk8
        uses: actions/setup-java@v3
        with:
          java-version: '8'
          distribution: 'adopt'
      # 设置maven环境
      - name: 部署maven
        uses: stCarolas/setup-maven@v4.5
        with:
          maven-version: '3.8.6'
          # 缓存Maven依赖
      - name: 设置maven缓存
        uses: actions/cache@v2
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2

      # 使用Maven打包
      - name: 打包
        run: mvn clean package -DskipTests

      # 将JAR包传输到服务器部署
      - name: 推送
        uses: appleboy/scp-action@master
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USERNAME }}
          password: ${{ secrets.SERVER_PASSWORD }}
          port: ${{ secrets.SERVER_PORT }}
          source: "target/*.jar"
          target: "/home/tools/testActions"