Cloudflare Pages 배포 — 로컬 dist 복사하면 왜 사이트가 안 바뀌냐

Astro.js 빌드하고 dist 폴더 복사했는데 사이트가 안 바뀜. Cloudflare Pages는 GitHub push로 배포되는 구조. 처음에 이걸 몰랐다.

Cloudflare Pages 배포 — 로컬 dist 복사하면 왜 사이트가 안 바뀌냐

상황

Astro.js로 블로그를 만들었고 Cloudflare Pages로 배포하고 있습니다.

코드를 수정하고 npm run build로 빌드합니다. dist 폴더가 생깁니다. 이걸 어디에 올려야 하나 싶어서 서버의 특정 폴더에 복사했습니다.

사이트가 전혀 안 바뀝니다.


Cloudflare Pages 배포 구조

Cloudflare Pages는 GitHub 저장소와 연결돼 있습니다. 로컬에서 빌드한 dist를 직접 올리는 게 아닙니다.

동작 방식:

  1. 코드를 GitHub에 push
  2. Cloudflare Pages가 push를 감지
  3. Cloudflare 서버에서 자동으로 npm run build 실행
  4. 빌드된 결과를 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 = 배포라는 것만 기억하면 됩니다.

#Cloudflare Pages#Astro.js#배포#GitHub#CI/CD