昨年 Hugo と GitHub Actions で static サイトの生成と公開を自動化しました
自動化で楽にはなりましたが、publish が全ファイル転送なのでけっこう時間がかかります。ブログカードの見え方などはローカルサーバーでは表示されず、実際にサイトに配置しないと確認できないというのもあって更新が億劫になっていました。
そこで、プレビュー用のサイトを Netlify に立て、GitHub リポジトリで preview ブランチを作り、このブランチが更新されたら Netlify に publish するようにしてみました。
Netlify も Hugo に対応しており build / publish が爆速なので、気軽に push してプレビューできます。
本番用のサーバーに publish するのは master ブランチへのマージ時のみにしたいので、GitHub Actions のトリガーを master への push のみにしました。
on: push: paths: - content/** - layout/** - config.toml branches: - master
プレビューサイトで確認が終わったらプルリクを作って master に squash merge すれば本番用サーバに publish されます。
これで運用が楽になりました。Netlify に課金してないのでプレビューサイトが public なのはご愛敬ですが。