rurema/doctree に netlify との連携の設定をして、 pull request の preview ができるようにしました。
背景
PRの変更をオンラインでレビューできる仕組みが欲しいという話があって、 以前 netlify を自分の fork で試していたのを思い出して、設定しました。
試していた当時は rurema 側の権限が足りなくて rurema/doctree に連携設定ができなかったので、 znz/doctree の方で試していました。
概要
基本的には bundle exec rake
で作成される HTML を netlify で公開できれば良いのですが、 以前試した時にうまくいかない部分があったので、それを対処した形で入れました。
生成部分変更
以前試した時に /tmp/
以下からだとデプロイできなかった覚えがあるので、 jekyll のように ./_site
以下に生成するようにしました。
また、以前試した時にデフォルトのタスクでサポートバージョンを全部生成するとタイムアウトした覚えがあるので、 2.6.0 だけにしています。 今だと高速化されていてサポートバージョン全部でも大丈夫になっている可能性はありますが、試していません。
latest -> 2.6.0
という symlink も作成されるのですが、 それを含む親ディレクトリを Publish directory に指定して試してみたところ、 symlink のディレクトリは見えなかったので、 _site/2.6.0
をトップにするように変更しました。
netlify との連携設定
New site from Git から連携設定をしました。
連携設定後に Edit site name で rurema に変更しました。
Deploy contexts で Deploy previews: Automatically build deploy previews for all pull requests を選んでいますが、 最初からこっちだったかどうか確認できなかったため、メモしておきます。
Commit Status と Commit Check への以下の通知は設定済みでした。
- Add Deploy Preview notifications to commits when Deploy Preview starts
- Add rich details to commits when Deploy Preview starts
- Add Deploy Preview notifications to commits when Deploy Preview succeeds
- Add rich details to commits when Deploy Preview succeeds
- Add Deploy Preview notifications to commits when Deploy Preview fails
- Add rich details to commits when Deploy Preview fails
さらに以下の設定も試してみましたが、コメントは Slack にも通知が流れてうるさいかと思ってやめました。
- Add Deploy Preview notifications as pull request comments when Deploy Preview succeeds
command などの設定は最初の連携設定の時には入れていたのですが、 netlify.toml に移動して、 Web からの設定の方は消しました。
その後、未対応ブランチですぐに失敗するように command は /bin/false
に変更しました。
その他
rurema/doctree はドキュメントなのでオープンソースライセンスではなく Creative Commons ライセンスなので、 オープンソース向けのプランは無理かと思ったら、 Creative Commons でも大丈夫という話があったので、 https://www.netlify.com/legal/open-source-policy/ 経由で https://opensource-form.netlify.com/ をみてみると、 CoC が必要など、思ったより手間がかかりそうだったので保留にしました。
rurema-search もある関係でメインを netlify には持っていけなくて、 preview だけだから、とりあえず個人アカウントのままでもいいかと思いました。
まとめ
netlify と GitHub の連携設定を追加して、 pull request のプレビューができるようになりました。
新しい pull request の Conversation の CI の結果が並んでいるところをスクロールして deploy/netlify の右の Details から開けます。