2 minutes
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
552 Words
2020-07-18 10:06 +0900