원래 이 블로그는 남들이 다 하던대로 GitHub이 제공하는 GitHub Pages를 이용하고 있었는데 플러그인을 조금씩 달다 보니 제대로 돌지 않아서1 결국 Travis-CI를 이용해 빌드를 하고 다시 깃헙의 master 브랜치로 푸시를 하도록 설정해 쓰고 있었다.

원래 깃헙이 제공하는 대로 써야 빠른 빌드로 인해 이득을 얻는 건데 이렇게 되면 Travis에서 루비부터 다시 받고 하기 때문에 굉장히 느리다. 블로그 글 하나 썼는데 1~2분이 지나야 반영이 된다는 건 큰 문제까지는 아니지만 찝찝하기도 하고 별도의 브랜치가 생성되고 외부에서 푸시를 받는 게 좀 껄끄럽기도 하다. 그래서 내가 다른 블로그에 쓰고 있던 Netlify으로 넘어가기로 했다. 어차피 난 도메인도 ~.github.io를 쓰지 않고 커스텀 도메인을 쓰고 있었기 때문에 TLS 인증서를 걸지 못 하는 점도 있었고 이쪽이 훨씬 더 낫기 때문이다.

Netlify는 원래 Pubstorm이라는 사이트에서 제공하던 스태틱 페이지 호스팅 서비스였는데 아예 이쪽으로 갈아타고 Jekyll 등을 지원하기 시작했다. 원래는 heroku처럼 파일만 만들어 놓고 git push 하면 스태틱 페이지가 디플로이 되는 방식이었지만 push만 되지 pull은 절대 안 되고 뭐 그런 불편한 서비스였지만 지금은 완전 다른 서비스라고 봐도 될 정도라 그냥 넘어 올 수 있었다.

기본적인 건 깃헙 페이지스처럼 스태틱 파일을 호스팅만 하는 것 같지만 설문조사를 위한 Form 서비스도 붙일 수 있고 싱글페이지 앱을 크롤러에게 잘 보이게 하는 프리렌더링 옵션이라든가 구글 아날리틱스 같은 커스텀 스니펫을 넣거나 JS, CSS, HTML 등의 사이즈를 줄여 주는 CloudFlare에서나 있을 법한 기능도 있다. 아무튼 웹 디플로이에 관한 거면 다 들어있다.

커스텀 도메인도 마음대로 추가 할 수 있고 Certbot(LetsEncrypt)을 통해 인증서를 달아주면서 HSTS도 적용이 가능하다. 깃헙에선 절대 못 하는 기능인데 HSTS2와 TLS를 커스텀 도메인에 적용할 수 없던 게 껄끄럽던 나로서는 굉장히 마음에 드는 기능이다.

기능적인 면은 그렇다 치고 Jekyll에 관해서 캐싱을 많이 하는 건지 푸시를 한 뒤에 바로 브라우저로 확인해 보면 이미 빌드가 끝나 있을 정도로 빠르다. 분명 빌드 트리거가 갈 때까지 시간이 걸리는 것도 있을텐데 거의 3초면 끝나는 듯 하다.


  1. 깃헙 페이지스는 이미 설치 된 지킬을 사용하기만 하고 bundle install 등을 실행하지 않는다. 

  2. HTTP Strict Transfer Security