피드로 돌아가기
Build a Markdown-to-CMS Auto-Publisher With GitHub Actions
Dev.toDev.to
DevOps

GitHub Actions 기반 Markdown-to-CMS 파이프라인 구축으로 배포 시간 90초 단축

Build a Markdown-to-CMS Auto-Publisher With GitHub Actions

Aakash Gour2026년 5월 4일18intermediate

Context

수동 CMS 입력 방식의 반복적인 작업으로 인한 생산성 저하와 환경별(Staging, Production) 중복 배포 공수 발생. 각 CMS API마다 상이한 데이터 포맷과 메타데이터 매핑 체계로 인해 단순 자동화에 제약이 있는 상황.

Technical Solution

  • Git Repository를 Single Source of Truth로 설정하여 콘텐츠 관리의 버전 제어 체계 구축
  • Frontmatter 계약 기반의 메타데이터 설계를 통해 다중 CMS(WordPress, Ghost, Webflow) 타겟팅 라우팅 구현
  • gray-matter와 marked 라이브러리를 활용한 Markdown의 HTML/JSON 변환 로직 분리
  • Slug 기반의 Lookup 프로세스를 도입하여 중복 게시를 방지하는 Idempotency 보장
  • GitHub Actions Workflow를 통해 Push 이벤트 기반의 CI/CD 파이프라인 자동화
  • CMS별 API 특성에 맞춘 Adapter 패턴 구조의 Publisher 스크립트 설계

1. CMS API 호출 전 Slug 기반 존재 여부 확인으로 멱등성(Idempotency) 확보 여부 검토

2. Frontmatter에 targets 필드를 정의하여 콘텐츠별 배포 대상 제어 기능 구현

3. 다중 환경 배포를 위해 Git Branch 전략(Staging ↔ Main)과 CMS 환경 매핑 연결

4. API 제한 및 포맷 변환 이슈 해결을 위한 전처리 파서(Parser) 모듈 분리

원문 읽기