Memo
Jekyllを使って静的サイトを構築し、Azure Static WebAppへGithubを介してアップするのを試してみた。
環境の構築
WSL2を使い環境の構築を行った
RubyについてはRVMを使ってインストールを実施
curl -sSL https://get.rvm.io | bash
Jekyllについてはドキュメントの通りにインストールし、サイトの構築を行った
Azure Static Web Appsについてはドキュメントの通りに進める。ドキュメント
その後、独自ドメインの設定を行って動作の検証も実施した
留意点など
Github Actionにてビルドサーバのセットアップが実施されるとき、Rubyのインストールは早いがJekyllのインストールがとても遅い。原因はsasscのインストール時にコンパイルが入るため時間がかかっている。
これはJekyllを使う以上どうしようもない。Action内でのサイトのビルドをあきらめれば話は早い。
- ymlに設定したRuby, BundlerのセットアップとJekyllのビルドタスクをすべてコメントアウト
- ローカルでサイトを制作した後にBuildを実施し、_site以下にコンテンツを生成してしまう
- その後、Push時に-site以下も含めて送り込むようにする。これで_site以下がデプロイされる
ということで、この方法を使ってしまえばどのような静的サイトジェネレーターでも一緒になってしまうという残念な感じになってしまう
WSL2の環境でJekyll serveを使うとエラーが起きる。これはProcessがポーリングするところでWSLの実装に起因するエラーのよう。以下のコマンドを使えばエラーを回避して開発サーバを可動させることができる。
bundle exec jekyll serve --force_polling --livereload
forc_pollingというのがポイントとなる
参照: https://github.com/microsoft/WSL/issues/216
Jekyll to Azure blob Strage
Azure CLIを使えば、普通にコンテンツをアップロードできる