name: Deploy Quartz on: push: branches: - master # 본인이 사용하는 메인 브랜치명으로 수정하세요 jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - name: Install & Build run: | npm ci npx quartz build # 전송 효율을 위해 public 폴더를 압축합니다. tar -czf deploy.tar.gz public - name: Deploy to GCE uses: appleboy/scp-action@master with: host: ${{ secrets.GCE_HOST }} username: ${{ secrets.GCE_USERNAME }} key: ${{ secrets.GCE_SSH_KEY }} source: "deploy.tar.gz" target: "/home/dihwang/white-smith-blog" - name: Extract Archive on GCE uses: appleboy/ssh-action@master with: host: ${{ secrets.GCE_HOST }} username: ${{ secrets.GCE_USERNAME }} key: ${{ secrets.GCE_SSH_KEY }} script: | cd /home/dihwang/white-smith-blog # 기존 public 폴더 백업 후 압축 해제 (안전한 교체) tar -xzf deploy.tar.gz rm deploy.tar.gz