Cloudflare Pages 배포 — 로컬 dist 복사하면 왜 사이트가 안 바뀌냐
Astro.js 빌드하고 dist 폴더 복사했는데 사이트가 안 바뀜. Cloudflare Pages는 GitHub push로 배포되는 구조. 처음에 이걸 몰랐다.
상황
Astro.js로 블로그를 만들었고 Cloudflare Pages로 배포하고 있습니다.
코드를 수정하고 npm run build로 빌드합니다. dist 폴더가 생깁니다. 이걸 어디에 올려야 하나 싶어서 서버의 특정 폴더에 복사했습니다.
사이트가 전혀 안 바뀝니다.
Cloudflare Pages 배포 구조
Cloudflare Pages는 GitHub 저장소와 연결돼 있습니다. 로컬에서 빌드한 dist를 직접 올리는 게 아닙니다.
동작 방식:
- 코드를 GitHub에 push
- Cloudflare Pages가 push를 감지
- Cloudflare 서버에서 자동으로
npm run build실행 - 빌드된 결과를 CDN에 배포
로컬에서 빌드하는 건 테스트용입니다. 실제 배포는 GitHub push로 트리거됩니다.
올바른 배포 방법
# 1. 변경사항 확인
git status
git diff
# 2. 스테이징
git add .
# 3. 커밋
git commit -m "변경 내용 설명"
# 4. push — 이게 실제 배포 트리거
git push origin main
push하면 Cloudflare Pages 대시보드에서 빌드가 시작됩니다. 보통 1~3분 안에 완료됩니다.
로컬 dist 복사는 언제 쓰냐
저는 로컬에 별도 미러 폴더가 있어서 거기에 복사하는 작업을 했는데, 그건 Cloudflare Pages 배포와 무관한 별개 작업이었습니다.
Cloudflare Pages를 쓴다면 dist 폴더는 .gitignore에 넣는 게 보통입니다. 굳이 커밋할 필요가 없습니다.
dist/
.astro/
node_modules/
배포 확인 방법
# push 후 Cloudflare Pages CLI로 확인 (선택)
npx wrangler pages deployment list
# 또는 Cloudflare 대시보드에서 확인
# pages.cloudflare.com → 프로젝트 → Deployments
정리
| 작업 | 효과 |
|---|---|
npm run build | 로컬 테스트용 빌드 |
dist 복사 | Cloudflare Pages와 무관 |
git push origin main | 실제 배포 트리거 |
처음 Cloudflare Pages를 쓴다면 “내가 직접 파일을 올려야 하는 게 아닌가”라고 생각하기 쉽습니다. GitHub push = 배포라는 것만 기억하면 됩니다.