name: Deploy to Server on: push: branches: - dev - main workflow_dispatch: jobs: deploy: runs-on: host steps: - name: Checkout code uses: actions/checkout@v3 - name: Copy files to deployment directory run: | # 创建目标目录(如果不存在) mkdir -p /home/score-backend # 使用 rsync 同步文件(排除不需要的文件) rsync -av \ --exclude='.git' \ --exclude='node_modules' \ --exclude='.DS_Store' \ --exclude='*.db' \ --exclude='bun.lockb' \ --exclude='.env' \ --exclude='.env.local' \ --exclude='.gitea' \ ./ /home/score-backend/ - name: Install dependencies working-directory: /home/score-backend run: | bun install - name: Restart PM2 application run: | cd /home/score-backend pm2 restart media-backend || pm2 start main.ts --name media-backend