Github Pagesで独自ドメインを設定したらhugoブログが壊れた
独自ドメインを導入したら、ブログの表示崩れが発生したので原因と対策を調べた。 予兆 事件の予兆は発生していた。 GitHubで独自ドメイン設定をした後git pushがうまくいかない。 原因はGitHub側で生成されるファイル「CNAME」。 CNAMEの内容としては設定している独自ドメインが記載されているだけ。 上記のgit pushエラーに対してはgit pullを行うことで解消した。 git pull origin master git pullを経て無事git pushが成功した。 表示崩れが発生 上記git pushの結果表示崩れが発生した。 GitHub上の独自ドメイン設定を確認するとドメイン設定が消えている。 gitのログを見るとCNAMEファイルの削除が発生していた。 何が起きたか hugoコマンドでCNAMEが消されていた。 詳細には、–cleanDestinationDirオプションをつけて、毎回不要ファイルの削除を行っている。 この削除対象にCNAMEファイルが入っているようで、毎回削除された状態でGitHubにpushされていたようだった。 対策 CNAMEファイルのマスターを退避し、毎回コピーするscriptに差し替えた。 現状のdeploy用のスクリプトは以下の通り。 #!/bin/sh echo -e "\033[0;32mDeploying updates to GitHub...\033[0m" hugo --cleanDestinationDir cp ./CNAME docs git add docs/ msg="rebuilding site `date`" if [ $# -eq 1 ] then msg="$1" fi git commit -m "$msg" git push origin master