49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
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
|
|
# 이전 빌드 찌꺼기를 확실히 제거하기 위해 public 폴더 삭제
|
|
rm -rf public
|
|
npx quartz build --verbose
|
|
# 전송 효율을 위해 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 |