Site Icon THEREiS최신 글 게시판 · 002번 읽는 중

제 목 :

Astro 블로그 구축기 #1 - 왜 Astro였나

올린이
[야훔]
날짜
태그

블로그를 다시 해보자고 마음먹고 가장 먼저 한 고민은 “어디에 쓸까?“였다.

설치형 블로그부터 각종 블로그 플랫폼까지 선택지는 넘쳐났지만, 결국 내가 원하는 건 단순했다. 글은 편하게 쓰고, 관리는 내 방식대로 하고, 돈은 최대한 적게 쓰는 것. 그렇게 이리저리 재보다가 최종적으로 고른 것이 바로 Astro다.

Astro 블로그 구축기의 첫 번째 이야기는 “왜 하필 Astro였나”에 대한 이야기다.

1. 마크다운으로 글을 쓸 수 있다

마크다운으로 글쓰는 개발자

개발자에게 가장 익숙한 문서 포맷을 꼽으라면 단연 마크다운이다. README도 마크다운, 회의록도 마크다운, 개인 메모도 마크다운.

Astro는 Content Collections라는 기능으로 마크다운 파일을 그대로 콘텐츠로 사용할 수 있다. src/content/blog 폴더에 .md 파일 하나 툭 던져 넣으면 그게 곧 블로그 글이 된다. 제목, 날짜, 태그 같은 메타 정보는 상단의 frontmatter에 적어주면 끝.

에디터의 서식 버튼을 이리저리 눌러가며 글을 쓰는 것보다, 손에 익은 문법으로 텍스트만 쭉 써 내려가는 게 훨씬 편하다. 무엇보다 글이 특정 플랫폼에 묶이지 않고 그냥 텍스트 파일로 남는다는 점이 마음에 들었다.

2. 옵시디언으로 쓰고, Git으로 관리한다

옵시디언 글을 빨아들이는 Git서버

마크다운으로 쓸 수 있다는 건 곧 옵시디언(Obsidian) 으로 글을 쓸 수 있다는 뜻이기도 하다.

평소 메모와 정리를 옵시디언으로 하고 있었기 때문에, 블로그 글도 같은 도구에서 쓸 수 있다면 따로 블로그 관리자 페이지에 들어갈 일이 없다. 블로그의 src/content/blog 폴더를 옵시디언 보관소로 열어두면, 옵시디언이 그대로 블로그 글 에디터가 된다.

여기에 옵시디언의 Git 플러그인을 설치하면 더 편해진다.

  • 글을 쓴다
  • Git 플러그인으로 커밋하고 푸시한다
  • 끝

글의 버전 관리는 자연스럽게 Git이 해주고, 혹시라도 글을 날려먹어도 히스토리에서 되살릴 수 있다. 블로그 글이 코드처럼 관리되는 셈이다.

3. 젠킨스로 배포하기 쉽다

글이 Git 저장소에 올라간다면, 그다음은 배포다.

Astro는 npm run build 한 번이면 정적 파일 묶음을 뱉어낸다. 빌드 결과물이 dist 폴더 하나로 떨어지니, 이걸 서버에 올리기만 하면 된다. 이 단순함 덕분에 젠킨스(Jenkins) 파이프라인을 구성하기가 아주 쉽다.

  1. Git 저장소에 푸시가 일어난다
  2. 젠킨스가 이를 감지하고 빌드를 수행한다
  3. 빌드된 결과물을 웹 서버로 배포한다

결국 옵시디언에서 글을 쓰고 커밋, 푸시만 하면 몇 분 뒤 블로그에 글이 올라가 있다. 글쓰기 외의 모든 과정이 자동화되는 것이다. 이 파이프라인을 어떻게 구성했는지는 시리즈 뒤쪽에서 자세히 다뤄볼 예정이다.

4. 결과물이 HTML과 JavaScript뿐이라 저렴하다

마지막이자 사실 가장 중요한 이유. 저렴하다.

지난 글에서 푸념했듯이, 요즘은 AI 구독료만으로도 매달 적지 않은 돈이 빠져나간다. 블로그 하나 띄우자고 서버비까지 펑펑 쓸 수는 없는 노릇이다.

Astro는 기본적으로 빌드 시점에 모든 페이지를 정적인 HTML로 만들어 둔다. 게다가 꼭 필요한 곳이 아니면 JavaScript를 아예 내보내지 않는 “Zero JS” 방식을 기본으로 한다. 결과물이 HTML, CSS, JavaScript 같은 정적 파일뿐이니 서버가 요청마다 무언가를 계산할 필요가 없다. 게다가 해킹을 당해도 털릴 정보가 없다.

  • DB가 필요 없다
  • 애플리케이션 서버가 필요 없다
  • 정적 파일만 응답 할 수 있으면 된다

즉, 서버 성능이 거의 필요 없다. 아주 작은 사양의 서버로도 충분히 돌아가고, 그만큼 비용도 저렴해진다. “저렴한 개발”을 외치는 입장에서 이보다 좋은 조건은 없었다.

정리하며

정리하면 Astro를 선택한 이유는 이렇다.

  1. 마크다운으로 글을 쓸 수 있어서
  2. 옵시디언으로 쓰고 Git 플러그인으로 관리할 수 있어서
  3. 젠킨스로 배포 파이프라인을 만들기 쉬워서
  4. 결과물이 정적 파일뿐이라 서버 비용이 저렴해서

쓰기 편하고, 관리하기 편하고, 배포하기 편하고, 싸다.

다음 이야기에서는 실제로 Astro 프로젝트를 만들고 블로그의 뼈대를 세운 과정을 다뤄보려고 한다.

[ 꼬리말 ]승인 후 게시됩니다

꼬리말을 불러오는 중...