AI와 함께 웹사이트를 직접 만들고 운영하며 배운 기록

홈 › 배포·운영

GitHub와 Cloudflare Pages로 무료 배포하기: git push 한 번이면 끝

새벽뉴스 편집부 · · 배포·운영

내 컴퓨터에만 있는 HTML 파일은 나만 볼 수 있습니다. GitHub에 올리고 Cloudflare Pages와 연결하면, 이후로는 git push 한 번으로 전 세계에 공개됩니다. 이 사이트도 그렇게 운영하고 있습니다.

전체 흐름

  1. 내 컴퓨터에서 파일을 고친다.
  2. git push로 GitHub 저장소에 올린다.
  3. Cloudflare Pages가 새 커밋을 알아채고 자동으로 배포한다.
  4. 보통 30~40초 뒤 사이트에 반영된다. (이 사이트에서 직접 잰 시간입니다.)

1. GitHub 저장소 만들기

GitHub에서 새 저장소(repository)를 만들고 index.html을 올립니다. 처음에는 웹 화면의 "Add file → Upload files"로 올려도 됩니다. 저장소 맨 위(루트)에 index.html이 있어야 사이트 첫 화면이 됩니다.

2. Cloudflare Pages와 연결하기

Cloudflare 대시보드에서 Pages 프로젝트를 새로 만들고 GitHub 계정을 연결한 뒤 저장소를 고릅니다. 이 사이트처럼 HTML 파일을 그대로 쓰는 경우 설정은 간단합니다.

Cloudflare 화면의 메뉴 이름은 바뀔 수 있으니, 위 세 가지 뜻만 기억해 두면 됩니다.

연습하다 보면 같은 저장소에 Pages 프로젝트를 두 개 연결하기 쉽습니다. 실제로 이 저장소에도 githubtest, githubtest2 두 프로젝트가 연결되어 push할 때마다 둘 다 배포되었습니다. 쓰지 않는 프로젝트는 정리하는 편이 헷갈리지 않습니다.

3. 이후로는 git push만

내 컴퓨터의 사이트 폴더를 GitHub 저장소와 한 번 연결해 두면, 고칠 때마다 아래 명령만 실행하면 됩니다.

git add .
git commit -m "다크모드 추가"
git push

커밋 메시지는 나중에 기록을 볼 때 무엇을 바꿨는지 알 수 있게 한국어로 짧게 적으면 충분합니다.

배포 주소는 두 종류다

Cloudflare Pages는 주소를 두 가지로 보여 줍니다. 이 차이를 몰라서 구글 애드센스에 사이트를 추가할 때 한참 헤맸습니다.

주소 모양뜻쓰임
프로젝트명.pages.dev항상 최신 배포를 보여 주는 기본 주소방문자에게 알리는 주소, 애드센스·검색 등록
71f5173e.프로젝트명.pages.dev배포할 때마다 새로 생기는 그 회차 전용 주소배포 결과 미리 확인

앞에 무작위 글자가 붙은 회차 전용 주소를 직접 확인해 보니, 응답에 x-robots-tag: noindex가 붙어 있었습니다. 검색엔진과 구글 로봇에게 "이 주소는 보지 말라"고 알리는 표시입니다. 애드센스에 이 주소를 넣었을 때는 사이트 추가가 되지 않았고, 앞부분을 뗀 기본 주소를 넣자 바로 추가되었습니다.

# 응답 헤더 확인 (터미널)
curl -sI https://71f5173e.githubtest2.pages.dev | grep -i robots
# x-robots-tag: noindex

정리

댓글