글을 private 저장소에서 쓰더라도 바로 공개하고 싶지 않을 때가 있습니다. 이번 블로그는 그 지점을 기준으로 설계했습니다.

핵심 규칙

  1. 글은 blog-posts 저장소에서 작성한다.
  2. 공개 기준은 blog 저장소에 커밋된 submodule SHA다.
  3. blog-posts에 push만 해서는 production이 바뀌지 않는다.

이 방식이 좋은 이유

운영 중인 사이트는 항상 blog 저장소가 가리키는 특정 콘텐츠 버전을 사용합니다. 그래서 어떤 글 버전이 공개되었는지 추적하기 쉽고, 의도하지 않은 변경이 바로 노출되지 않습니다. 배포 실패가 나더라도 어느 커밋을 다시 가리켜야 하는지 판단하기도 수월합니다.

게시 순서

blog-posts에 글을 커밋한 뒤 blog 저장소에서 submodule 포인터를 원하는 커밋으로 업데이트하면 됩니다. 그 커밋이 main에 반영될 때만 배포가 일어납니다.