Netlifyのビルドを制御できるらしい
このブログの反映先に使っている Netlify についての話です。
Netlify とは
Netlify: All-in-one platform for automating modern web projects
静的サイトのホスティングサービスです。
昔っぽい言い方をするとWEBサイト用のレンタルサーバーみたいなものです。
Yahooジオシティーズが終了し、新しいサーバーを検討している際に良さそうだったので2021/04/09現在こちらを使ってこのサイトを立てています。
サイトの公開の流れ
現在ウチのサイトは、以前にも記載しましたとおり Hexo でサイトを作って Git で管理しています。記事を変更や追加したらコミットして、GitHub に push すると自動的に Netlify への反映が行われます。
Netlifyは無料プランで使用しているので、実はサイト公開時に行われるビルドの時間が 月300分まで、という上限があり、pushするたびにビルドが走ってしまうとこの枠をどんどん食いつぶしてしまう、という問題があります。なのでコミットするたびにpushしているとちょっともったいないことになるわけです。
コミットしてもサイトに反映させたくない
というわけで今日のメインの話です。ビルド時間の枠を無駄に使いたくないのでなんとかしたいってことですね。結論としては公式に答えが載っていました。
Of course, you can also specifically instruct Netlify to skip a build even while auto-publishing is turned on. Adding the text
[skip ci]
to your commit messages will achieve that.
コミットメッセージに [skip ci]
という文字列を含めておくと、pushしたときにNetlifyへのデプロイは行われなくなるそうです。GitHub Actions や Circle CI を実行させたくないときに使う方法ですが、まさか Netlify でも同じ方法が使えるとは知りませんでした。
pull request のデプロイプレビュー生成も止めたい
[skip ci]
だけだと、プルリクエスト発行時やブランチへのpush時に行われるデプロイプレビューのビルドは止められなかったのでそっちを止めるための方法。
You can control in the UI whether or not Deploy Previews are generated for pull/merge requests. To change this, select your site and go to Site settings > Build & deploy > Continuous Deployment > Deploy contexts, then select Edit settings.
ウチのサイトについては以下のように設定しました。
これで気軽に push ができるようになりました。もっと早く知りたかった。