name: Deploy to Production on: push: branches: [master] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '22' - name: Install dependencies and build run: | npm install npm run build - name: Deploy to temporary directory uses: appleboy/scp-action@v0.1.6 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USERNAME }} key: ${{ secrets.SSH_PRIVATE_KEY }} port: ${{ secrets.SERVER_PORT || 22 }} source: "dist/" target: "~/code/yys-editor" strip_components: 1 rm: true - name: Copy to production directory uses: appleboy/ssh-action@v0.1.8 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USERNAME }} key: ${{ secrets.SSH_PRIVATE_KEY }} port: ${{ secrets.SERVER_PORT || 22 }} script: | # 清空目标目录 sudo rm -rf /var/www/html/yys-editor # 复制文件到目标目录 sudo cp -rf /home/ubuntu/code/yys-editor /var/www/html/