レジュメの Static site を Jekyll(Azure CDN) から Hugo(Static Web Apps) に乗り換えた話

タイトルで8割書いてるので、あとは補足だけ書く。

サイトはこちら。

cv.kheiakiyama.com

背景

理由1: ビルド遅い問題

GitHub Actions を使ってビルドしているが、ビルドからデプロイまで、約8分前後の時間がかかっていた。

内容を精査すると、主に Jekyll でビルドするための bundle install に時間が大半を占めていた。
また、 Gemfile が Dependabot に検知される要因になっていて、地味に嫌な感じだった。

移行先を検討していたところ、Hugo は使ったことがあり、 2021年時点でベストな静的サイトジェネレータの一つらしいのでそれにした。

Best static site generators of 2021 | TechRadar

理由2: Static Web Apps 使いたい

Azure Static Web Apps – App Service | Microsoft Azure

単に使いたかった。
静的コンテンツだけなら Azure CDN と大して変わらないが、 PullRequest でレビューできるのは便利。

Azure Static Web Apps における実稼働前環境での pull request の確認 | Microsoft Docs

そのうち Function 機能もちゃんと使ってあげたい。

移行方法

Jekyll から Hugo

頑張って載せ替えるだけ。

Jekyll to Hugo by kheiakiyama · Pull Request #2 · kheiakiyama/kheiakiyama.github.com · GitHub

個人のレジュメサイトなので、移行前に使っていたデザインテーマはあきらめて別のテーマに移行した。

Azure CDN から Static Web App

Static Web App への載せ替えは淡々とやるとして、移行は TXT レコードを使ったダウンタイムなしの移行を試したが動かなかったのであきらめて CNAME を切り替えてしまった。

Set up a custom domain in Azure Static Web Apps | Microsoft Docs

TXT record validation 、現在は Zone Apex しか対応してないのでは?というのが予測。

移行後

約8分かかっていたビルド&デプロイが1分10秒前後で終わるようになった。

速いのは正義。