The source code for this blog is available on GitHub.

RTF

【GitHub Pages】カスタムドメインがリセットされちゃうのよぉ!

Cover Image for 【GitHub Pages】カスタムドメインがリセットされちゃうのよぉ!
Pento
Pento

このブログはGitHub Pagesを利用して配信しているのですが、配信するたびにカスタムドメイン設定がリセットされるため困っていました。 再設定は簡単なのでまあいいかと思っていましたが、記事の投稿、サイトの改修頻度が上がるにつれて煩わしくなってきたのでようやく重い腰を上げて修正しました。

下記のように毎度設定が空に GitHub Pagesセッティング

そもそも都度設定をしなきゃいけないわけないので確実に設定漏れ。とりあえずGitHub Pagesのトラブルシューティングを確認

GitHubリファレンス

ど頭にあったw 確認ミスも確認ミス。

サイトが正しいドメインをレンダリングするには、CNAME ファイルがまだリポジトリに存在していることを確認します。 たとえば、静的サイトジェネレータの多くはリポジトリへのプッシュを強制するので、カスタムドメインの設定時にリポジトリに追加された CNAME ファイルを上書きすることができます。 ローカルでサイトをビルドし、生成されたファイルを GitHub にプッシュする場合は、CNAME ファイルをローカルリポジトリに追加したコミットを先にプルして、そのファイルがビルドに含まれるようにする必要があります。

とりあえずCNAMEファイルというのが生成されて、GitHub Pages対象のブランチ(デフォルトはgh-pages)に存在する必要があるみたい。

GitHubリポジトリ

ホントだ。ない...

GitHubコミット履歴

コミット履歴にはある...

GitHubコミット履歴詳細

純粋にCNAMEというファイル名にドメイン記載したものがgh-pagesブランチにあれば良いのか

CNAMEファイルをローカルリポジトリに追加したコミットを先にプルして、そのファイルがビルドに含まれるようにする必要があります。

の部分がGitHub Actions内でやらなくてはならない感じもするけど、とりあえずファイル存在すればOKでしょうということで作成して普通にmerge

このサイトはNEXT.jsのブログテンプレートを利用しているのでpublic/配下に配置すれば静的ファイルとしてデプロイ後のルートディレクトリに配置されるはず

GitHubリポジトリ設定後 OK!

GitHub Pagesセッティング後 設定の方もOK

まとめ GitHubのトラブルシューティングは優秀