Cloudflare 자동 배포: 올리기만 하면 사이트가 바뀌어요
GitHub와 Cloudflare를 한 번 연결해 두면, 코드를 올릴 때마다 Cloudflare가 알아서 빌드하고 배포해요. 실패해도 사이트는 안전하고, 언제든 되돌릴 수 있어요.
🎯 이번 레슨을 마치면
- 자동 배포가 어떻게 동작하는지 단계별로 설명할 수 있다
- Cloudflare와 GitHub 저장소를 연결하고 빌드 설정을 넣을 수 있다
- 빌드 실패, 미리보기 배포, 되돌리기(롤백)를 활용할 수 있다
원고만 넘기면 알아서 출간되는 출판사
직접 따라가 보기
세 가지 상황 버튼을 모두 눌러 보세요. 특히 빌드 실패일 때 사이트가 어떻게 되는지 확인해 보세요.
체험자동 배포는 어떻게 동작할까? — 한 단계씩
내 컴퓨터AI 코딩 도구
GitHub코드 보관함
Cloudflare빌드·배포
내 사이트방문자가 보는 곳
1단계 · 고치고 커밋하기
"연락처 버튼을 추가해 줘. 다 되면 커밋하고 올려 줘." 내 컴퓨터에서 코드가 바뀌고, 저장 포인트(커밋)가 만들어져요.
1단계: Cloudflare와 GitHub 연결하기 (처음 한 번)
준비물은 2-5 레슨에서 GitHub에 올린 저장소와 4-3 레슨에서 만든 Cloudflare 계정이에요.
- Cloudflare 대시보드에서 Workers & Pages → 만들기(Create) → Pages → **Git에 연결(Connect to Git)**을 골라요.
- GitHub 연결 화면이 뜨면 직접 로그인하고 승인해요. 저장소 접근 범위는 모든 저장소 대신 **선택한 저장소만(Only select repositories)**으로
my-site만 고르는 게 안전해요. my-site저장소를 선택하고 아래 빌드 설정을 넣어요.- **저장 및 배포(Save and Deploy)**를 누르면 첫 빌드가 시작돼요.
빌드 설정, 무엇을 넣을까?
| 프로젝트 종류 | 빌드 명령 | 결과 폴더 |
|---|---|---|
| HTML·CSS·JS 파일만 (Part 3의 사이트) | 비워 둠 | / (프로젝트 맨 위) 또는 파일이 있는 폴더 |
| Vite + React (7-1 레슨) | npm run build | dist |
| Astro | npm run build | dist |
| 다른 설정 | 넣을 값 |
|---|---|
| 프로덕션 브랜치 | main (본 사이트가 될 가지) |
| 환경 변수 | Supabase 주소와 공개용 키 등 (Part 5부터). secret 키는 넣지 않아요 |
이 프로젝트를 GitHub와 연결해서 Cloudflare Pages로 자동 배포하려고 해. Cloudflare 화면에 넣어야 할 빌드 명령, 결과 폴더, 필요한 환경 변수 이름을 표로 정리해 줘. 내 컴퓨터에서 빌드가 잘 되는지도 먼저 확인해 줘.
2단계: 이제부터는 이렇게만
연락처 구역에 카카오톡 오픈채팅 링크 버튼을 추가해 줘. 다 되면 커밋하고 GitHub에 올려 줘.
👉 올린 뒤 1~2분 기다렸다가 사이트를 새로고침해 보세요. Cloudflare 대시보드의 배포 목록에서 진행 상황도 볼 수 있어요.
3단계: 배포 화면 읽는 법
Cloudflare의 내 프로젝트를 열면 배포(Deployments) 목록이 있어요.
| 보이는 것 | 뜻 |
|---|---|
| ✅ 성공 (Success) | 배포 완료. 사이트에 반영됐어요 |
| ⏳ 진행 중 (Building) | 빌드하고 있어요. 잠시 기다려요 |
| ❌ 실패 (Failed) | 빌드 실패. 사이트는 이전 버전 그대로예요 |
| 커밋 메시지 | 어떤 저장 포인트로 만든 배포인지 (2-4 레슨의 커밋 메시지가 여기 보여요) |
| 프로덕션 / 미리보기 | 본 사이트(main) 배포인지, 다른 가지의 미리보기인지 |
빌드가 실패했다면
- 실패한 배포를 눌러 빌드 로그를 열어요.
- 빨간 에러 줄(보통 마지막 부분)을 복사해요.
- Antigravity에게 보여 줘요.
Cloudflare 자동 배포가 실패했어. 빌드 로그 마지막 부분이야: (여기에 빌드 로그 붙여 넣기) 내 컴퓨터에서는 잘 되는데 왜 Cloudflare에서는 실패하는지 쉽게 설명하고 고쳐 줘. 고친 뒤 내 컴퓨터에서 빌드가 되는지 확인하고 다시 올려 줘.
4단계: 미리보기 배포로 먼저 확인하기
2-5 레슨에서 배운 브랜치를 쓰면, 본 사이트를 건드리지 않고 새 디자인을 실제 주소에서 확인할 수 있어요. main이 아닌 가지를 올리면 Cloudflare가 new-design.minji-site.pages.dev 같은 미리보기 주소로 따로 배포해요.
new-design 가지에서 메인 화면을 바꿔서 GitHub에 올려 줘. Cloudflare 미리보기 주소에서 확인하고, 마음에 들면 main에 합칠게.
5단계: 문제가 생기면 되돌리기 (롤백)
배포는 성공했는데 막상 열어 보니 화면이 이상하다면, 고칠 때까지 기다릴 필요 없이 이전 버전으로 바로 되돌릴 수 있어요.
- 배포 목록에서 마지막으로 잘 되던 배포를 찾아요.
- 그 배포의 메뉴(⋯)에서 **이 배포로 되돌리기(Rollback)**를 눌러요. 몇 초 만에 사이트가 예전 모습으로 돌아가요.
- 그동안 Antigravity와 차분히 원인을 고치고, 고친 버전을 다시 올려요.
퀴즈
자동 배포 중 빌드가 실패했어요. 방문자가 보는 사이트는 어떻게 될까요?
퀴즈
방금 배포한 버전에 큰 문제가 있어요. 가장 빠르게 사이트를 살리는 방법은?
📝 정리해 볼까요?
- 자동 배포: GitHub의 main에 올리면(push) Cloudflare가 알아채고 → 빌드하고 → 배포해요. 보통 1~2분이면 끝나요.
- 빌드에 실패하면 배포되지 않아서 사이트는 이전 버전 그대로예요. 빌드 로그를 AI에게 보여 주고 고치면 돼요.
- main이 아닌 가지는 미리보기 주소로 따로 배포되고, 문제가 생기면 배포 기록에서 이전 버전으로 되돌릴(롤백) 수 있어요.
📖 새로 나온 용어
- 자동 배포 Continuous Deployment
- GitHub에 코드를 올리면 호스팅 서비스가 알아서 빌드하고 사이트를 업데이트하는 것이에요. 비유: 원고를 넘기면 알아서 인쇄·배송되는 출판사
- 빌드 Build
- 개발용 코드를 실제 서비스에 올릴 수 있는 파일로 변환·정리하는 과정이에요. 비유: 원고를 인쇄용 책으로 만들기
- 브랜치 Branch
- 원본(main)을 건드리지 않고 따로 작업하는 가지예요. 마음에 들면 원본에 합쳐요(merge). 비유: 원본 문서의 복사본에서 수정하기
- 미리보기 배포 Preview Deployment
- main이 아닌 브랜치를 본 사이트와 다른 별도 주소로 배포해서, 합치기 전에 실제 화면을 확인하는 것이에요. 비유: 정식 개업 전 가오픈
- 롤백 Rollback
- 문제가 생겼을 때 사이트를 이전에 잘 되던 배포 버전으로 되돌리는 것이에요. 비유: 어제 저장한 파일로 되돌리기
- 환경 변수 Environment Variable
- 비밀 키처럼 코드에 직접 적으면 안 되는 값을 따로 보관해 두는 설정값이에요. 비유: 금고에 따로 보관한 열쇠
잘했어요! 완료 표시는 이 브라우저에 저장돼요.