在项目根目录下新建 .github/workflows/ci.yml,内容如下:

name: 项目远程部署

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '17'
      - name: Build with Maven
        run: mvn clean install -Dmaven.test.skip=true

      - name: Deploy
        uses: cross-the-world/ssh-scp-ssh-pipelines@latest
        with:
          host: ${{ secrets.HOST }}
          user: ${{ secrets.USERNAME }}
          pass: ${{ secrets.PASSWORD }}
          port: 22
          scp: |
            ./target/helixia-admin.jar => /root/
          last_ssh: |
              cd /root/ && sh start.sh restart

变量解释

  • HOST: 服务器IP地址

  • USERNAME: 服务器用户名

  • PASSWORD: 服务器SSH key

参考:https://github.com/cross-the-world/ssh-scp-ssh-pipelines