---
title: "호스팅 디지털가든 도메인 워커 서비스 배포 Cloudflare"
url: "https://notes.junghanacs.com/notes/20240814T152821"
author: "Junghan Kim"
date: "2024-08-14T15:28:00+09:00"
lastmod: "2026-09-30T17:01:00+09:00"
tags: ["bib","cicd","development","digitalgarden","ssg"]
description: "Org-mode와 Quartz 기반 디지털 가든을 Netlify에서 Cloudflare Workers로 옮기는 배포 기록. 자동 빌드, 대문자 T 정본과 소문자 URL 호환, 도메인 전환과 검수 순서를 설명한다."
---

> [!abstract] 이 노트에 대하여
> 
> Org-mode 원본을 Quartz로 빌드해 Cloudflare Workers로 발행하는 디지털 가든의 배포 흐름을 설명한다. Netlify에서의 이전, 대문자 T 정본과 옛 소문자 URL의 호환, 도메인 연결과 검수 순서를 기록하며 이전 설정은 ARCHIVE에 보존한다.

## 히스토리

-   [2026-09-30 Wed 17:01] @pi/GPT-6.1 Sol — GLG 요청으로 Cloudflare 배포 안내를 새로 작성. Netlify 정본 유지·workers.dev 및 Git 자동 빌드 검수 완료·도메인 전환 대기를 구분하고 기존 ARCHIVE는 보존했다.
-   [2026-09-30 Wed 14:23] 노트 완전 업데이트 해야한다. 배포면이 완전 바뀌었다.
-   [2024-11-25 Mon 12:17] 2024 뉴 도메인 연결 작업
-   [2024-08-14 Wed 17:42] 2024 도메인 설정 관련 작업
-   [2025-04-04 Fri 09:59] 생성
-   [2023-07-27 Thu 09:30] 2023 도메인 설정 관련 기록

## 관련노트

-   [#호스팅: DNS 레코드 - type cname value - 넷리파이](https://notes.junghanacs.com/notes/20250404T095327)

## 2026년: Cloudflare Workers로 배포면 이전

[2026-09-30 Wed 17:07]

디지털 가든의 주소는 [notes.junghanacs.com](https://notes.junghanacs.com/)이다. 글의 원본은 Org-mode에 두고, [Quartz](https://notes.junghanacs.com/meta/20241007T112300)로 만든 정적 사이트를 웹에 발행한다. 배포 서비스를 바꾸더라도 노트의 Denote 식별자와 가든 주소는 유지한다.

2026년 9월에는 Netlify 유료 요금제의 빌드 크레딧 부담을 줄이기 위해 Cloudflare Workers 무료 요금제로 이전을 시작했다. 먼저 [홈페이지](https://junghanacs.com/)를 같은 경로로 옮겨 검증하고, 그 선례를 가든에 적용했다. 여기서 쓰는 것은 Cloudflare Pages가 아니라 **Workers의 정적 자산(Static Assets)과 Workers Builds** 다.

**2026-09-30 현재 상태:** 도메인 없는 가든 검수와 GitHub 자동 빌드는 통과했다. 확인용 [workers.dev 가든](https://junghanacs-garden.junghanacs.workers.dev/)에는 검색·페이지 이동·폰트와 옛 URL 호환이 동작한다. 이 주소는 검색 색인을 막은 검수용이다. 아직 `notes.junghanacs.com` 의 정본 서비스는 Netlify에 있으며, 도메인 전환과 Netlify 정리는 검수 뒤 별도로 진행한다. 가든의 공개 주소를 workers.dev로 바꾸는 것이 아니다.

발행 흐름은 다음과 같다.

-   Emacs에서 Org 원본을 수정하고 Markdown으로 내보낸다.
-   로컬 `run.sh` 로 언어 치환과 비밀정보 검사, 화면 검수를 거친다. 치환 스크립트는 공개 저장소에 넣지 않는다.
-   검수한 결과를 [가든 저장소](https://github.com/junghan0611/garden)의 `main` 에 커밋·push한다.
-   Workers Builds가 의존성을 설치하고 `./scripts/build-cloudflare.sh` 로 Quartz 빌드·구조화 데이터·산출물을 검증한다. 날짜 정보를 지키기 위해 얕은 Git 이력도 전체 이력으로 보완한다.
-   검증이 성공하면 `npx wrangler deploy` 로 정적 자산과 URL 호환 Worker를 배포한다. 검수용 빌드에서는 IndexNow나 sitemap 제출을 실행하지 않는다.

URL의 정본은 Denote 식별자의 **대문자 T** 다. 예를 들어 `/journal/20260921T000000` 을 사용한다. Netlify 시절 퍼진 `/journal/20260921t000000` 도 버리지 않는다. Cloudflare에서는 실제 페이지가 있을 때 대문자 주소로 **301 리다이렉트** 하며, query와 문단 앵커도 유지한다. 없는 페이지는 404로 남는다. 정상 정적 페이지는 자산 서버가 바로 응답하고, 옛 소문자 링크와 잘못된 경로만 작은 Worker가 처리한다.

무료 빌드 환경의 공식 사양은 2 vCPU·메모리 8GB, 월 3,000 빌드 분, 빌드당 최대 20분이다. 첫 가든 자동 빌드는 캐시를 끈 상태에서 초기화부터 종료까지 **약 5분 26초** 걸렸다. 그중 Quartz 빌드는 약 3분 3초였다. 캐시는 켠 뒤 같은 커밋을 다시 빌드해 실제 효과를 비교한다. 무료라는 말은 무제한이라는 뜻이 아니므로, 빌드 분과 Worker 요청 한도를 함께 살핀다.

도메인 등록·DNS·사이트 배포는 서로 다른 단계다. 과거의 호스팅케이알·Netlify 설정은 아래 ARCHIVE에 남긴다. 새 도메인 연결은 workers.dev 검수와 자동 빌드 확인 뒤 진행하고, 정본에서 댓글 연결·응답 헤더·sitemap을 다시 확인한다. 그 전까지 기존 Netlify 서비스를 유지해 되돌아갈 길을 남긴다.

구체적인 설정과 전환 기록은 [가든 Cloudflare 배포 문서](https://github.com/junghan0611/garden/blob/main/docs/deploy-cloudflare.md)와 [웹 퍼블리시 이전 기록](https://github.com/junghan0611/nixos-config/issues/11)에 둔다. 이 노트는 가든 하단의 Publishing 링크에서 배포면을 설명하는 입구다.

## ARCHIVE

### 2024 뉴 도메인 연결 작업

### 2024 도메인 설정 관련 작업

### 2023 도메인 설정 관련 기록

### 관련링크
