@@ -3,7 +3,7 @@ name: Deploy Quartz
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master # 본인이 사용하는 메인 브랜치명으로 수정하세요
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -16,11 +16,12 @@ jobs:
|
|||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 22 # Quartz 최신 요구 사양에 맞춤
|
node-version: 20
|
||||||
|
|
||||||
- name: Install & Build
|
- name: Install & Build
|
||||||
run: |
|
run: |
|
||||||
npm ci
|
npm ci
|
||||||
|
# 1. 빌드 전 확실히 초기화
|
||||||
rm -rf public
|
rm -rf public
|
||||||
npx quartz build
|
npx quartz build
|
||||||
|
|
||||||
@@ -30,6 +31,19 @@ jobs:
|
|||||||
host: ${{ secrets.GCE_HOST }}
|
host: ${{ secrets.GCE_HOST }}
|
||||||
username: ${{ secrets.GCE_USERNAME }}
|
username: ${{ secrets.GCE_USERNAME }}
|
||||||
key: ${{ secrets.GCE_SSH_KEY }}
|
key: ${{ secrets.GCE_SSH_KEY }}
|
||||||
source: "public/*" # public 폴더 안의 모든 파일을 대상으로 함
|
source: "deploy.tar.gz"
|
||||||
target: "/home/dihwang/white-smith-blog/public" # 서버의 목적지 폴더
|
target: "/home/dihwang/white-smith-blog"
|
||||||
strip_components: 1 # 전송 시 'public/' 폴더 구조는 떼고 내용물만 전송
|
|
||||||
|
- 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
|
||||||
|
# 3. 서버에 남아있는 유령 파일들 싹 제거 (매우 중요)
|
||||||
|
find . -mindepth 1 -delete
|
||||||
|
# 4. 압축 해제
|
||||||
|
tar -xzf ../deploy.tar.gz
|
||||||
|
rm ../deploy.tar.gz
|
||||||
Reference in New Issue
Block a user