피드로 돌아가기
Automating Technical Blog Publishing: GitHub Actions + Supabase Edge Function Pipeline
Dev.toDev.to
DevOps

Git Log 기반 자동 초안 생성 및 다중 플랫폼 배포 파이프라인 구축으로 99건 이상의 기술 포스팅 달성

Automating Technical Blog Publishing: GitHub Actions + Supabase Edge Function Pipeline

kanta13jp12026년 4월 17일7intermediate

Context

코드 커밋과 기술 블로그 작성 간의 워크플로우 분리로 인한 작성 병목 현상 발생. 다수의 외부 플랫폼(Qiita, dev.to)에 중복 게시하는 수동 프로세스로 인한 운영 효율 저하 상황.

Technical Solution

  • Claude API와 Git Log를 연동하여 일일 08:00 JST에 다국어(JA/EN) 초안을 자동 생성하는 blog-draft.yml 설계
  • PostgreSQL 기반의 blog_posts 테이블을 도입하여 포스팅 상태를 추적함으로써 중복 게시를 방지하는 Idempotency 보장 구조 설계
  • Supabase Edge Function을 API 게이트웨이로 활용하여 Qiita 및 dev.to API 호출 로직을 중앙 집중화
  • Qiita API의 일일 4건 제한(Rate Limit) 대응을 위해 429 에러 시 상태를 'draft'로 유지하는 예외 처리 및 재시도 메커니즘 구현
  • 대량의 과거 데이터 처리를 위해 sleep 3 간격을 둔 배치 처리용 blog-backfill.yml 워크플로우 구축

Impact

  • 99건 이상의 기술 아티클을 Qiita 및 dev.to 플랫폼에 효율적으로 배포
  • 수동 포스팅에 소요되던 시간(건당 약 1시간)을 자동화 파이프라인으로 제거

1. 외부 API 연동 시 Rate Limit 발생 가능성을 고려하여 상태 기반의 재시도 큐 설계 검토

2. 중복 실행 방지를 위해 데이터베이스 레벨에서 상태 값(status)을 통한 유효성 검증 단계 추가

3. LLM을 활용한 콘텐츠 생성 시 Git Log와 같은 정형 데이터를 입력값으로 사용하여 일관성 확보

원문 읽기