name: Build and Deploy on: push: branches: [main] pull_request: branches: [main] jobs: deploy: if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Copy files to server uses: appleboy/scp-action@master with: host: 114.134.187.170 username: root password: ${{ secrets.SERVER_PASSWORD }} source: "package.json,package-lock.json,src,public,.env.example,start.sh" target: "/app/awesome/" - name: Deploy and start service uses: appleboy/ssh-action@master with: host: 114.134.187.170 username: root password: ${{ secrets.SERVER_PASSWORD }} script: | cd /app/awesome # 如不存在 .env 则从 example 复制 [ ! -f .env ] && cp .env.example .env # 执行启动脚本 chmod +x start.sh bash start.sh