Build Log · 2026.07.17

하루 만에, 아이디어에서 라이브 배포까지

Cloudflare Pages와 GitHub를 엮어 git push 한 번으로 HTML이 배포되는 도구 gomdeploy를 만들었다. 설계부터 도구 설치·인증, 저장소 연결, 그리고 실제 배포 검증까지 — 하루의 기록.


01

구상 & 설계

Cloudflare Pages + GitHub 연동을 택했다. 하나의 사이트에 페이지를 누적하고, 배포 기록은 로컬 deploys.json·deploys.mdlist 명령으로 확인한다.

02

조사

Direct Upload와 Git 연동을 비교해 Git 연동을 채택했다. 무료 티어(Pages 무제한 대역폭, D1 5GB, R2 10GB)만으로 충분하다는 것을 확인했다.

03

구현

런타임 의존성 없는 Node.js CLI. 12개 태스크를 TDD로, 서브에이전트가 구현하고 리뷰하는 방식으로 진행해 38개 테스트를 통과했다.

04

도구 설치 & 인증

brew install gh로 GitHub CLI를 설치하고, gh auth login의 브라우저 device flow(8자리 코드)로 인증했다. gh auth setup-git으로 git이 gh 자격증명을 쓰게 했다.

05

저장소 & PR

gh repo create로 비공개 저장소를 만들고 main·feat 브랜치를 push, PR #1을 머지해 코드를 main에 반영했다.

06

Cloudflare 연결

대시보드에서 Pages를 저장소에 연결했다. Build output directory는 public. 대시보드가 Workers 플로우로 유도해, 하단의 “Looking to deploy Pages? Get started” 링크로 Pages 플로우에 진입했다.

07

배포 & 검증

gomdeploy init으로 사이트를 스캐폴딩하고 gomdeploy add로 첫 페이지를 배포했다. push를 감지한 Cloudflare가 자동 배포하는 전 과정을 gomdeploy.pages.dev에서 확인했다. 한 가지 배운 점: add는 내부적으로 git add -A로 커밋하므로 저장소에는 사이트 콘텐츠만 두어야 한다.

38테스트 통과
0런타임 의존성
Livegomdeploy.pages.dev