name: Deploy on: push: branches: - main permissions: contents: read jobs: deploy: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - name: debian build_command: build remote_port: 22 # school 暂时停用,需要时恢复。那台还没从 Postgres 迁到 SQLite:迁移脚本、webpreview-db 服务和 # 步骤文档已删除,从提交 cdeb7c1 里找回(git show cdeb7c1:docs/migrate-to-bun.md) # - name: school # build_command: build:staging # remote_port: 8822 steps: - uses: actions/checkout@v7 - uses: oven-sh/setup-bun@v2 with: bun-version: 1.4.4 - name: Build client run: | bun install --frozen-lockfile --filter webpreview-client bun run ${{ matrix.build_command }} env: CI: false - name: Upload client to ${{ matrix.name }} uses: easingthemes/ssh-deploy@main with: SSH_PRIVATE_KEY: ${{ secrets.KEY }} REMOTE_HOST: ${{ secrets.HOST }} REMOTE_PORT: ${{ matrix.remote_port }} ARGS: "-avzr --delete" SOURCE: client/dist/ REMOTE_USER: root TARGET: /root/WebPreview/build - name: Update server on ${{ matrix.name }} uses: appleboy/ssh-action@v1 with: host: ${{ secrets.HOST }} port: ${{ matrix.remote_port }} username: root key: ${{ secrets.KEY }} script: | set -e cd /root/WebPreview git pull --ff-only origin main docker compose up -d --build