Jekyll에서 Astro로 블로그 이사 완료! (feat. Ruby 탈출기)

munilive
munilive
Jekyll에서 Astro로 블로그 이사 완료! (feat. Ruby 탈출기)

2020년 여름, 10년 넘게 운영하던 워드프레스를 무찌르고(?) Jekyll 기반의 정적 사이트로 블로그를 옮겼을 때의 글이 아직 생생합니다. 당시 한 달 넘게 퇴근 후 새벽까지 글 하나하나를 마크다운으로 옮기며 삽질했던 기억이 납니다. 그렇게 정착한 Jekyll은 지난 6년간 제 소중한 기록 저장소가 되어주었습니다.

하지만 시간이 흘러 2026년 지금, 저는 또다시 정든 보금자리를 떠나 새로운 곳으로 이사를 마쳤습니다. 이번 새로운 행선지는 요즘 한창 재미있게 보고 있는 **Astro (v6)**입니다.

💾 또다시 이전을 결심한 이유: Goodbye, Ruby!

사실 Jekyll은 정적 사이트 생성기(SSG)로서 완성형에 가깝고, 운영 중인 블로그(blog.munilive.com)도 별문제 없이 잘 돌아가고 있었습니다. 그럼에도 불구하고 불현듯 마이그레이션을 결심하게 된 가장 결정적인 이유는 아이러니하게도 6년 전과 같습니다. 바로 유지보수의 편의성, 그리고 새로운 기술 스택에 대한 욕심이었습니다.

1. 낯선 Ruby 생태계와의 작별

Jekyll은 Ruby 기반입니다. 저는 평소에 Node.js와 JavaScript/TypeScript 환경에서 주로 작업합니다. 블로그 기능을 조금 수정하거나 플러그인 에러를 잡으려 할 때마다, 제게는 낯선 Ruby 자료를 뒤적거리고 Gem 환경을 맞추는 과정이 은근히 스트레스였습니다. “내가 잘 알고 편하게 다룰 수 있는 Node.js 생태계로 넘어가면 훨씬 즐겁게 유지보수할 수 있지 않을까?”라는 생각이 머릿속을 떠나지 않았습니다.

2. 최신 프레임워크에 대한 호기심 (Astro)

이사할 곳을 고르면서 React 기반의 Next.js나 Gatsby도 고려했지만, 제 선택은 Astro였습니다. 블로그처럼 콘텐츠 중심의 웹사이트에는 Astro의 ‘Islands 아키텍처’가 성능 면에서 압도적이라는 이야기를 많이 들었기에 직접 써보고 싶었습니다. 무엇보다 6년 전 WordPress에서 Jekyll로 넘어왔을 때처럼, 새로운 기술을 배우고 적용해 보는 설렘을 다시 느끼고 싶었습니다. 마침 호스팅 중인 Netlify와의 호환성도 훌륭했고요.

🛠️ 가볍고 빠르게, 기술 스택 환골탈태

이사하는 김에 낡은 도구들을 싹 내다 버리고 최신식으로 들였습니다.

  • 프레임워크: Jekyll 4.3 ➡️ Astro v6
  • 스타일링: 무거웠던 Bootstrap 5 + SCSS ➡️ Tailwind CSS v3 (드디어 붓스트랩을 벗어났습니다!)
  • 패키지 매니저: Bundler (Ruby) ➡️ pnpm (Node.js)
  • 검색 & 하이라이팅: jQuery 기반 Lunr.js와 highlight.js를 걷어내고, Vanilla JS Lunr.js와 Astro 내장 Shiki로 교체했습니다. 훨씬 가볍고 빠릅니다.

💦 생각보다 만만치 않았던 이사 과정

단순히 파일만 옮기면 끝날 줄 알았는데, 기존 블로그의 링크(URL)와 댓글, SEO를 그대로 보존하려다 보니 손이 많이 갔습니다.

특히 80개가 넘는 기존 포스트의 URL 형식을 유지하고, 예전 주소로 들어와도 새 주소로 잘 연결되도록 리다이렉트를 처리하는 게 가장 큰 숙제였습니다. 사이드바 로고가 다크 모드에서 안 보인다거나, 코드 블록 색상이 이상하게 꼬이는 소소한 버그들도 하나씩 잡다 보니 시간이 훌쩍 지나가더군요.

제대로 옮겨졌는지 불안해서 결국 전수 조사를 하기로 마음먹었습니다. 로컬 서버와 비교하며 100개가 넘는 주소들이 에러 없이 잘 뜨는지 자동으로 검증하는 스크립트를 직접 짜서 돌려보았고, 다행히 모든 주소가 에러 없이 통과되는 걸 보고 나서야 배포를 마칠 수 있었습니다.

🚀 이사를 마치며

배포를 마치고 리다이렉션 문제까지 깔끔하게 해결하고 나니 숙원 사업을 하나 끝낸 기분입니다. Ruby 생태계를 벗어나 제가 100% 통제할 수 있는 익숙한 개발 환경으로 넘어오니 확실히 마음이 편하네요.

이 기록 또한 누군가의 마이그레이션 삽질에 작은 도움이 되길 바라며, 나중에 다시 보았을 때 또 하나의 즐거운 추억이 되길 바랍니다.

그동안 고생 많았다, Jekyll! 그리고 반갑다, Astro!

munilive

munilive

Backend Application Developer

Share

Comments

Related Posts

WordPress로 운영하던 블로그를 Jekyll 기반의 정적 웹사이트로 변경한 이유와 과정

WordPress로 운영하던 블로그를 Jekyll 기반의 정적 웹사이트로 변경한 이유와 과정

2010년부터(사실 더 그전부터) blog.munilive.com 도메인으로 블로그를 시작하였다. 별다른 내용은 없었고, 그냥 내가 개발하면서 간간이 기록으로 남기고 싶은 글들…

munilive munilive ·
Git Commit Message Style Guide - 개인/팀을 위한 커밋 메시지 스타일 가이드

Git Commit Message Style Guide - 개인/팀을 위한 커밋 메시지 스타일 가이드

개인/팀 프로젝트를 진행하면서 코드 관리에 Git을 많이 사용하고 있습니다. Git이 외 SVN(Subversion), Mercurial 등 다른 여러 종류의 버전 관리 툴들이 있…

munilive munilive ·
MacOS에서 ssh-agent 사용하기

MacOS에서 ssh-agent 사용하기

ssh로 서버로 접근 할 때 보통 ID/PW 방식을 많이 사용한다. 하지만 요즘은 ID/PW보다 좀더 보안에 좋은 key를 이용한다. AWS의 경우에는 기본적으로 서버에 접근하…

munilive munilive ·