Hugo on Github Pages

Hugo blogの公開先の選定

Hugoで作成した本ブログの公開先を検討していました。費用的に初めはGoogle Cloud Storageで良いかなと思ったのですが、調べてみるとカスタムドメイン+HTTPS、という環境で公開するにはロードバランサが必要になる、ということで、費用がマッチしなそうでした。。

次にAzure Blobストレージなら、特にCloud Storageの様な制約は無く、カスタムドメイン+HTTPSでの公開が出来そうということで、これにしようかなと思ってたらGithub pagesという存在を知りました。なんとストレージ自体の費用は無しで、カスタムドメイン+HTTPSでの公開も出来るということで、こちらを採用することにしました。

Hugoで作成したサイトの公開

基本的には、以下の手順で行ってます。

  1. Hugoブログ用のリポジトリをGithub上に作成
  2. hugoコマンドでビルド
  3. publicフォルダに作成されたファイル群を、1.で作成したgithubリポジトリにpush

作成したリポジトリに対してpagesの設定をONにしていたら、これだけでhttps://<username>.github.io/<repositoryname>というURLに公開されます。

利用に関する制限とか、設定手順とかは↓この辺に書いてあると思います。
https://docs.github.com/ja/pages/getting-started-with-github-pages/about-github-pages
https://docs.github.com/ja/pages/getting-started-with-github-pages/creating-a-github-pages-site

カスタムドメインとか不要で、URLはこのままでいいよーって人は↑のままでもう公開できるはずです。

Github pagesにカスタムドメインを登録

次に、Github pagesにカスタムドメインを登録します。
今回、私はblog.yk-info.jpというサブドメインを登録することにしました。
ドメインはお名前.comで取得しました。

ドメインの検証

まず、ドメインの検証として以下のようなTXTレコードの登録を求められました。

ホスト名 TYPE VALUE
_github-pages-challenge-ykinfo.blog.yk-info.jp TXT 検証用コード

参考: https://docs.github.com/ja/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages

カスタムドメインの設定

次に、CNAMEレコードの登録を行いました。

ホスト名 TYPE VALUE
blog.yk-info.jp CNAME [username].github.io

参考: https://docs.github.com/ja/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain

Apexドメイン(私の環境で言うとyk-info.jp)の場合は、Aレコードの登録等も必要なのだそうですが、サブドメインの場合はCNAMEレコードの追加だけでOKみたいでした。

登録したら数分くらいで、Github pagesに公開したBlogにアクセス出来るようになりました。
https://blog.yk-info.jp