Netlifyへのデプロイ
ビルドエラーの解消
前日の続きで、Netlifyでのビルドが失敗する問題の解消から取り組む。試行錯誤しているうちに問題が解消してしまったので、よく分からないが、
- エラーメッセージで見つからないと指摘された
../vendor/bootstrap/scss/bootstrapは、submoduleであるテーマ(themes/docsy)のさらにsubmodule(assets/vendor/bootstrap)にあるべきファイル - ビルドコマンド実行の直前に、
git submodule update -f --init --recursiveを付けたらエラーが解消した
ので、Netlifyでのビルドでリポジトリがcloneされるときに、直下のsubmoduleまでしかチェックアウトされないのがエラーの原因であろうと推測して、問題は解消したのでこれ以上は深入りしない事にした。
ビルド用のコマンドそのものを指定する箇所ではなく、例えばソースをGitHubから持ってくるときのコマンドやオプションが指定できるのであれば、そこを直す方がスマートだと思ってちょっと探したが見つからなかった。
また、ここに至るまでにローカル環境でのビルドが成功せず、プレビューは出来ており、ビルドはできなくても構わないのでこの問題は放置したが、エラーメッセージが似ているので同じ問題かと勘違いした。先にローカル環境での問題を解決しないと、Netlifyでのビルドも成功しないと思い、テーマを改造しない限りは不要なはずのPostCSSのインストールが実際は必要なのかと疑ったりした。ローカル環境でビルドできない問題は放置したまま、Netlifyでのビルドは成功したので、この辺りはよく分からないまま。
独自ドメインの設定
ビルドが成功し、Netlifyのドメインでサイトが見られるようになったので、次に独自ドメイン(カスタムドメイン)を設定した。以前にAWSでサイトを設置するために購入して、今は持っているだけで未使用のドメインが有るでこれを使った。
作業自体は、Netlifyでのガイドが親切だったり、類似の経験をしていることもあり、特に難しいと感じる事もなくすすむ。ただ、以前もそうだったが、独自ドメインの設定はなかなか反映されないので、何度もブラウザでリロードしながら、どこか設定が間違っていないかイライラしながら確認していた。
検索機能の設定
めでたく、独自ドメインでのサイトアクセスが確認できたので、最後に検索機能を設定した。検索窓はローカル環境でプレビューしたときから見えていたが、いざ検索すると404 Not foundになる。いったんは諦めて検索窓を無効にしようかとも思ったが、ここまで何度もDocsyのユーザガイドを眺めていくるうちに、検索機能について書かれている事に気付いたので、それを見ながら設定。
使える検索エンジンは3つオプションがあったが、オーソドックスにGoogleを採用。Googleにログインし、対象のサイトにアクセスを確認したばかりのドメインを書いて、あとは言語などを選択。そのほかの詳細もDocsyのユーザガイドで勧められているままに設定。発行された検索IDをHugoの設定ファイルに書き、コンテンツにsearchページを追加して完了。
Exampleを丸コピーした版の英語コンテンツは検索できたのに、自分で作った日本語コンテンツを検索すると404 Not foundとなり困っていたが、理由は、英語コンテンツにはあるsearchページを、日本語コンテンツの配下には作っていたなかったからだった。また、検索IDもExampleのホスト先ドメインを対象にしたエンジンのものが書かれているので、実は英語コンテンツについても、自分が追加、改造している内容を検索しているのではなかったが気づかなかった。
Googleでの検索対象の設定が検索結果に反映される数日かかるらしいので、修正した内容をNetlifyにデプロイしたところまでで検索機能設定は完了。
ドキュメントサイト設置手順の記載
ドキュメントサイトの設置を完了して、その時の手順を最初の記事として書いて、この日の作業は終了。想定より丸一日長くかかったが、時間のあるうちに一区切りできてよかった。