클로드로 콘텐츠 만들어 GitHub 커밋·Cloudflare 배포하기

콘텐츠 제작부터 검토, GitHub 커밋, Cloudflare Pages 배포까지 한 흐름으로 정리했습니다.

한눈에 보기

이 글은 Claude Code로 콘텐츠와 코드를 만들고, Git으로 기록해 GitHub에 올린 뒤, Cloudflare Pages로 공개하는 전체 흐름을 8단계로 정리합니다. 핵심은 도구마다 맡은 역할이 다르다는 점입니다. Claude는 초안을 만들고, Git은 변경 이력을 남기고, GitHub는 저장소 역할을 하며, Cloudflare Pages는 저장소의 변경을 받아 사이트로 공개합니다. 명령어와 설정 화면은 2026년 10월에 Cloudflare, GitHub, Claude Code 공식 문서를 확인한 내용이며, 서비스 화면과 정책은 바뀔 수 있으니 실행 전 공식 문서와 대조하세요.

시작하기 전에 준비할 것

Claude Code에게 일을 맡길 때의 기준

프로젝트 루트에 CLAUDE.md를 두면 Claude Code가 세션을 시작할 때 읽어, 코딩 규칙이나 작업 방식을 매번 다시 설명하지 않아도 됩니다. /init을 실행하면 코드베이스를 분석해 시작용 CLAUDE.md를 만들어 줍니다. 다만 공식 문서는 CLAUDE.md가 강제 설정이 아니라 참고 문맥이라고 설명합니다. 반드시 막아야 하는 동작(예: 배포 명령 실행)은 CLAUDE.md의 문장이 아니라 권한 규칙이나 훅으로 막는 것이 확실합니다. 또한 Claude가 만든 결과물은 사람이 검토해야 합니다. 사실, 수치, 링크가 틀릴 수 있고 존재하지 않는 출처가 섞일 수 있기 때문입니다.

  1. 만들 콘텐츠와 프로젝트 폴더 정하기

    어떤 콘텐츠를 어떤 형식(HTML 페이지, 마크다운 문서, 데이터 파일 등)으로 만들지 먼저 정하고, 작업할 프로젝트 폴더를 열어 둡니다. 기존 프로젝트라면 폴더 구조와 파일 이름 규칙을 확인해 두면 Claude에게 정확히 지시하기 쉽습니다.

  2. Claude에게 구체적으로 요청하기

    대상 독자, 분량, 파일 형식, 저장할 위치, 따라야 할 기존 코드 패턴을 함께 적어 요청하면 결과물의 품질이 올라갑니다. "이 폴더의 기존 파일과 같은 구조로 새 페이지를 만들어줘"처럼 기준이 되는 예시를 알려주는 것이 효과적입니다.

  3. 결과물 검토하고 로컬에서 확인하기

    Claude가 만든 내용은 사실관계, 수치, 링크를 직접 확인하고, 개발 서버나 빌드 명령(예: npm run build)으로 오류 없이 만들어지는지 점검합니다. 확인이 끝나기 전에는 커밋하지 않는 것이 안전합니다.

  4. 비밀 값은 커밋하지 않도록 분리하기

    API 키나 계정 정보가 들어 있는 .env 파일은 .gitignore에 등록해 저장소에 올라가지 않게 합니다. 이미 커밋한 비밀 값은 저장소 이력에 남으므로, 올리기 전에 git status로 포함된 파일을 반드시 확인하세요.

  5. Git으로 변경사항 커밋하기

    git status로 바뀐 파일을 확인하고 git add로 담은 뒤, git commit -m "추가한 내용 요약"으로 기록합니다. 커밋 메시지는 무엇을 왜 바꿨는지 한 줄로 적어 두면 나중에 이력을 찾기 쉽습니다.

  6. GitHub 저장소에 푸시하기

    GitHub에서 빈 저장소를 만들고 git remote add origin으로 연결한 뒤 git push origin main을 실행하면 로컬 커밋이 GitHub에 올라갑니다. 이후에는 같은 저장소에서 git push만으로 변경사항을 계속 올릴 수 있습니다.

  7. Cloudflare Pages에 저장소 연결하기

    Cloudflare 대시보드에서 Pages 프로젝트를 만들고 GitHub 저장소를 연결합니다. Astro 같은 프레임워크는 빌드 명령 npm run build, 출력 폴더 dist로 설정하며, 사이트에서 쓰는 환경 변수는 프로젝트 설정에 직접 등록해야 합니다.

  8. 배포 결과 확인하고 필요하면 되돌리기

    배포가 끝나면 발급된 주소나 연결한 도메인에서 새 콘텐츠가 보이는지 확인합니다. 문제가 생기면 Cloudflare 배포 목록에서 이전 배포를 선택해 되돌리거나, 코드를 수정해 다시 커밋하고 푸시하면 새 배포가 만들어집니다.

콘텐츠 제작과 배포를 하나의 흐름으로 보기

웹사이트에 콘텐츠를 늘려 가는 작업은 만들기, 검토하기, 기록하기, 공개하기의 네 단계가 반복됩니다. Claude는 첫 단계의 초안 작성과 코드 생성을 빠르게 도와주지만, 사실 확인과 최종 판단은 사람이 맡아야 합니다. 검토를 마친 결과물은 Git으로 변경 이력을 남기고 GitHub에 올려 두면, 문제가 생겼을 때 이전 상태로 돌아갈 수 있습니다. 마지막으로 Cloudflare Pages가 저장소의 변경을 받아 사이트를 다시 빌드해 공개합니다.

저장소 연결 배포와 직접 업로드 배포의 차이

Cloudflare Pages는 GitHub 저장소를 연결해 두면 푸시할 때마다 자동으로 빌드하고 배포합니다. 이 방식은 빌드에 필요한 환경 변수를 Cloudflare 프로젝트 설정에 직접 등록해야 합니다. 반대로 내 컴퓨터에서 빌드한 결과 폴더를 Wrangler 명령으로 직접 업로드하는 방식도 있으며, 이 경우에는 로컬 빌드에 쓰인 값이 그대로 결과물에 반영됩니다. 어느 쪽이든 API 키 같은 비밀 값은 저장소에 올리지 않도록 .env 파일을 .gitignore에 넣어 관리하세요.

구분Git 연결 방식직접 업로드(Wrangler)
배포가 일어나는 때연결한 저장소에 푸시할 때마다 Pages가 빌드·배포내 컴퓨터에서 빌드한 폴더를 명령으로 업로드할 때
빌드하는 곳Cloudflare(빌드 명령과 환경 변수를 프로젝트에 설정)내 컴퓨터
미리보기프로덕션 외 브랜치와 풀 리퀘스트에 미리보기 배포 생성--branch 옵션으로 지정한 브랜치에 배포
나중에 방식 변경직접 업로드로 바꿀 수 없음Git 연결로 바꿀 수 없음(새 프로젝트 필요)

Cloudflare 공식 문서 기준이며, 어느 방식이든 프로젝트를 만든 뒤에는 바꿀 수 없으므로 처음에 신중히 고르세요.

Git 연결 방식의 대시보드 설정 순서

  1. Cloudflare 대시보드의 Workers & Pages에서 Create application > Pages > Connect to Git을 고릅니다.
  2. GitHub를 선택하고 인증한 뒤, 개인 계정이나 접근을 허용한 조직의 저장소를 고릅니다. 공개·비공개 저장소 모두 가능합니다.
  3. Install & Authorize, Begin setup 순서로 진행합니다.
  4. 프로젝트 이름, 프로덕션 브랜치(보통 main 또는 master), 프레임워크 프리셋, 빌드 명령, 빌드 출력 폴더, 환경 변수를 설정합니다. 프로덕션 브랜치는 최소 한 번 푸시된 브랜치만 고를 수 있습니다.
  5. Save and Deploy를 누르고 빌드 로그를 확인합니다.

Astro 프리셋의 빌드 명령은 npm run build, 출력 폴더는 dist입니다. 프로덕션 브랜치가 아닌 브랜치는 모두 미리보기 배포가 만들어지며, 기본적으로 미리보기는 공개 접근이 가능하다고 문서에 적혀 있으므로 비공개 내용을 올리는 브랜치에는 주의하세요.

GitHub 명령어 예시와 설명

터미널에서 프로젝트 폴더로 이동한 뒤 아래 순서로 실행합니다. 처음 한 번만 필요한 명령과 매번 반복하는 명령이 섞여 있습니다.

Cloudflare 명령어 예시와 설명

저장소 연결 방식은 대시보드에서 설정하고, 아래 명령은 내 컴퓨터에서 빌드한 결과를 Wrangler로 직접 배포할 때 사용합니다. 프로젝트 이름은 본인이 정한 이름으로 바꿔서 입력하세요.

위 Wrangler 명령은 직접 업로드 프로젝트용입니다. 이미 Git 연결로 만든 프로젝트라면 푸시만으로 배포되므로 이 명령을 쓸 일이 없습니다. 프로젝트 생성 명령에는 --production-branch 옵션으로 프로덕션 브랜치를 지정할 수 있고, 배포 명령에는 --commit-message 옵션으로 배포에 메모를 붙일 수 있습니다(Wrangler 공식 문서 기준).

보안 수칙: 비밀 값이 저장소로 새지 않게

배포 후 되돌리기와 제한 사항

Cloudflare Pages 프로젝트의 Deployments에서 되돌리고 싶은 배포의 메뉴(점 세 개)를 열어 Rollback to this deployment를 선택하고 확인하면 프로덕션이 즉시 그 배포로 바뀝니다. 빌드에 성공한 프로덕션 배포만 되돌릴 대상이 되며 미리보기 배포는 대상이 아닙니다. 되돌린 뒤에도 더 새로운 배포로 다시 앞으로 갈 수 있습니다. 무료 플랜의 한도는 공식 문서 기준(2026년 10월 확인)으로 월 500회 빌드, 사이트당 파일 20,000개, 파일 하나당 25MiB, 빌드 제한 시간 20분입니다. 정책은 바뀔 수 있으니 현재 값을 확인하세요.

문제 해결: 자주 만나는 증상

증상확인할 것
Cloudflare 빌드가 실패한다빌드 로그의 첫 오류를 확인하고, 내 컴퓨터에서 npm run build가 성공하는지 먼저 봅니다. 빌드 명령·출력 폴더(Astro는 npm run build, dist) 설정도 확인합니다.
내 컴퓨터에선 되는데 Cloudflare에서만 실패한다Node.js 버전과 환경 변수 차이를 의심합니다. Pages 빌드 이미지(v3)의 기본 Node.js는 22.16.0이며, NODE_VERSION 환경 변수나 프로젝트 루트의 .node-version·.nvmrc 파일로 바꿀 수 있습니다(파일에는 버전 번호만 적습니다).
푸시가 GitHub에서 차단된다푸시 보호가 비밀 값을 발견했을 수 있습니다. 해당 값을 지우고 다시 커밋하되, 이미 노출된 값은 폐기합니다.
git remote add origin에서 이미 존재한다는 오류origin이 이미 등록된 상태입니다. 등록 주소가 맞는지 확인하세요.
푸시했는데 프로덕션에 반영되지 않는다푸시한 브랜치가 Pages에 설정한 프로덕션 브랜치인지 확인하세요. 다른 브랜치는 미리보기 배포로만 만들어집니다. 직접 업로드라면 --branch 값을 확인합니다.
연결 직후 도메인에서 DNS 오류가 난다첫 배포 직후에는 DNS 전파가 끝나면 사라지는 경우가 있다고 문서에 안내됩니다.

흔한 실수

가상 예시: 새 페이지 하나를 올리는 하루

가상 예시입니다. 개인 블로그 저장소에 새 글을 추가한다고 가정합니다. 오전에 Claude Code에게 기존 글 파일과 같은 구조로 새 글 초안을 요청하고(2단계), 오후에 사실과 링크를 직접 확인한 뒤 로컬 빌드로 오류가 없는지 봅니다(3단계).git status로 새 글 파일 한 개만 바뀌었는지, .env가 목록에 없는지 확인하고(4단계) 파일을 담아 한 줄 메시지로 커밋합니다(5단계). git push 후 Cloudflare 배포 목록에서 빌드가 성공했는지 보고, 발급된 주소에서 새 글이 보이는지 확인합니다(6~8단계). 만약 오타를 뒤늦게 발견하면 파일을 고쳐 다시 커밋·푸시하면 새 배포가 생깁니다. 실제 사례나 수치가 아닌 흐름을 보여 주는 시나리오입니다.

한계와 알아둘 점

이 글은 Astro 같은 정적 빌드 사이트와 GitHub 저장소를 기준으로 합니다. SSR 사이트(어댑터 설치 필요), 모노레포(루트 디렉터리 설정), 사용자 지정 도메인 연결, GitHub Actions를 쓴 배포는 다루지 않습니다. Cloudflare 대시보드 문구와 한도, Claude Code의 설치 방식은 업데이트로 달라질 수 있으니 각 공식 문서를 우선하세요. 명령은 본인 저장소와 계정에서만 실행하고, 삭제·덮어쓰기 성격의 작업(이력 재작성, 강제 푸시)은 백업 후에 진행하세요.

함께 보면 좋은 가이드

커밋과 푸시가 처음이라면 깃허브(GitHub) 기초 사용법을, Claude를 처음 쓴다면 클로드(Claude) AI 기초 사용법을 먼저 확인해보세요. 사이트를 어디에 올릴지 고민 중이라면 웹 호스팅 종류 가이드도 도움이 됩니다. 계정 보안은 2단계 인증 가이드와 비밀번호 관리자 기초, 도메인 연결은 DNS 레코드 종류를 참고하세요.

자주 묻는 질문

Claude가 만든 콘텐츠를 검토 없이 바로 배포해도 되나요?

권장하지 않습니다. AI가 만든 글에는 부정확한 수치나 존재하지 않는 출처가 섞일 수 있으므로, 사실관계와 링크, 표현을 직접 확인한 뒤 커밋하고 배포해야 합니다.

Cloudflare Pages는 무료로 쓸 수 있나요?

무료 플랜으로도 정적 사이트를 배포할 수 있지만, 월 빌드 횟수와 파일 수 같은 한도가 있고 정책은 바뀔 수 있으므로 Cloudflare 공식 문서에서 현재 조건을 확인하세요.

배포한 내용을 잘못 올렸다면 어떻게 되돌리나요?

Cloudflare 배포 목록에서 이전 배포를 선택해 되돌리거나, Git에서 문제가 된 변경을 수정해 다시 커밋하고 푸시하면 새 배포가 만들어져 정상 상태로 복구됩니다.

Pages 빌드에서 Node.js 버전은 어떻게 지정하나요?

Pages 프로젝트의 Settings > Environment variables에 NODE_VERSION을 등록하거나, 프로젝트 루트에 .node-version 또는 .nvmrc 파일을 두고 버전 번호만 적습니다. v3 빌드 이미지에서는 lts/hydrogen 같은 별칭을 지원하지 않고 package.json의 engines 값도 인식하지 않는다고 문서에 나와 있습니다.

미리보기 배포는 아무나 볼 수 있나요?

Cloudflare 문서에 따르면 기본적으로 미리보기 배포는 공개됩니다. 접근을 제한하려면 프로젝트 Settings > General에서 Cloudflare Access 정책을 켜는 방법이 안내됩니다.

Claude Code는 내 허락 없이 명령을 실행하나요?

Claude Code는 파일을 수정하고 명령을 실행하는 도구이며, 설정의 permissions 규칙(allow, deny)으로 허용·차단 범위를 정합니다. 어떤 명령을 자동 허용할지는 직접 정하고, 배포처럼 되돌리기 어려운 명령은 자동 허용하지 않는 것이 안전합니다.

.env 파일을 실수로 GitHub에 올렸다면 어떻게 해야 하나요?

해당 키를 즉시 폐기하고 새로 발급받는 것이 우선입니다. 저장소에서 파일을 지워도 커밋 이력에는 남아 있으므로, 노출된 키는 계속 사용하지 않는 것이 안전합니다.