まとめ
- GitHub Pagesは「GitHub Enterprise Cloud 」プランの場合privateで使用する事ができる
企業でお金払っていてオンプレのGitHubでなければこのプランのはず- 追記: 有料プランでもTeamプランというのがありました。こちらではアクセス制御はできません
- GitHub ActionsでbuildしたドキュメントをGitHub Pagesに簡単に反映可能
- peaceiris/actions-gh-pagesというGitHub Actionsが便利すぎる
- ほぼ無料
はじめに
GitHub Pagesの存在は知っていてもprivateリポジトリで使用できないと思っている方は多いと思いますが、2021/01/21より「GitHub Enterprise Cloud 」であればprivateリポジトリで使用できるようになっています。(正確にはアクセス制御ができるようになった)
変更方法などは以下のドキュメントを参照
とは言え、GitHub Pagesの管理はそれなりに面倒です。 そこで、GitHub Actionsを併用する事でGitHubのイベントをトリガーにしてGitHub Pagesを簡単に更新する事ができたのでまとめておきます。
よくある問題
- CIでドキュメントをビルドしているが有効活用されない
- ビルドしたドキュメントを置く場所がない
- ビルドしたドキュメントにアクセスするのが面倒
手順
具体的なサンプル
- masterやdevelopブランチでhtmlを変更すると<ブランチ名.html>というファイル名でGitHub Pagesにコミットする
- https://github.com/yamap55/doc_github_pages_deploy
- GitHub Actionsの設定
- 業務では静的なhtmlではなくyamlから生成したhtmlをコミットするようにしている
- pytestのカバレッジをGitHub Pagesにコミットする
- https://github.com/yamap55/pytest_cov_github_pages
- GItHub Actionsの設定
- 本当はCoverallsやCodecov、Code Climate などのサービスを使いたいのだけど。。。
注意点
- privateリポジトリで使用する場合にはURLが「
http(s)://<username>.github.io/<repository>
」、「http(s)://<organization>.github.io/<repository>
」の形式ではない- GitHub Pages サイトの可視性を変更する - GitHub Docs
- ただ、ドメインを割り当てることができるらしい
参考
- 公式ドキュメントはかなり充実しています