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 기반의 정적 웹사이트로 변경한 이유와 과정

10년간 WordPress로 운영하던 블로그를 Jekyll 기반의 정적 웹사이트로 변경한 이유와 그 과정에 대한 글이다.

munilive munilive ·
tar 압축 및 해제 명령어 사용 방법

tar 압축 및 해제 명령어 사용 방법

Linux에서 자주 사용되는 tar 압축명령에 대한 간략한 설명 및 사용법에 대한 글이다.

munilive munilive ·
그누보드 플러그인 SMS4를 이용한 SMS 발송하기 함수

그누보드 플러그인 SMS4를 이용한 SMS 발송하기 함수

그누보드4 플러그인 SMS4를 이용하여 SMS를 발송하는 발송처리 하는 방법에 대한 설명 및 예제 코드이다.

munilive munilive ·