GitLab Pagesはもっと評価されてよいと思う

前書き

皆様個人でブログを作成するとしたら、どのような方法を取られるでしょうか? 昔からはてなFC2などのブログサービスがありますね。 最近では、技術系情報を投稿するのにQiitaも良く使われているように感じます。 あるいはマニアックなところだと、Tumblrをカスタマイズしている方もいますね。 もちろん、ストイックにすべて自前サーバやVPSを用意してnginxやApacheでHTTPサーバを立てている方も いることでしょう。

GitHub Pagesの気になるところ

また、技術系の方々にはGitHub Pagesも良く知られている のではないかと思います。これはgh-pagesというブランチでファイルを保管すると、 それがそのまま__ユーザ名.github.io/(リポジトリ名)__の様な URLでアクセス可能になるというものですね。

ただ、個人的にはGitHub Pagesも、以下の点が気に入りませんでした。

  • フリーのレポジトリだと、gh-pagesは当然パブリックになる。
  • JekyllHugoのような静的サイトジェネレータを 使用すると、1記事を追加するだけでも、Paginationのようないろいろのファイルが生成/変更されるため、 コミットを見ても、実際に追加されたMarkdownファイル以外が多数表示され、邪魔に感じる。

上記の2点目については皆さんはどう対処しているのでしょうね。単に無視すれば良いだけ、 と言われてしまえばそれまでなのですが。

また、上記1点目と関連して、masterブランチにMarkdownのソースファイルを保管するとして、 masterブランチはbitbucketのような、無料でもプライベートリポジトリを使用できるサービスを 使い、gh-pagesブランチだけGitHub Pagesにpushする、という運用をされている方もいるようです。

GitLab Pagesを見つけた!! (GitHubじゃないよ、GitLabだよ)

さらに調べているうちに、GitLab Pagesは 上記の2つの点も解消されており、かなり良いサービスではなかろうか、と思った次第です。

GitLab Pagesの利点を列挙します。

  • プライベートリポジトリも無料で作成できる。
  • CIも無料で使える。これを使うと、Markdownをpushしたときに、DockerコンテナでJekyllなどを走らせて、 その結果をWebページとする、といったことが可能。つまり、gitではMarkdown(ともちろんスタイル関連CSSなども必要ですが) のみを管理することになり、サイトジェネレータによる生成物自体はリポジトリで管理しなくてよくなる。
  • カスタムドメイン、SSL/TLSも対応可能。

3番目の点についてはGitHub Pagesも対応可能なので、GitLab Pagesのみの優位点ではないですが。

GitLab Pagesも完全無欠ではなかった!! でもフリーならたぶん最強でしょ!!

というわけで、パフォーマンスなどは別にして(こちらについてはまだ詳細に評価していません) 機能的にはほぼ欠点がなさそうに思えます。でも実際にはいくつか気になる点もあるにはあります。

  • 各レポジトリの最大容量は10GB。
  • CIでの生成物は最大1GB。 こちらはサイトが大きくなると後々問題になるかもしれませんね。これについては上記リンクの FAQ “Is all of this really free to use?“に書かれています。ただ、リポジトリサイズ10GBというのも 5GBから増量されたという経緯があるようですので、1GBの制限もいずれ緩和されるかもしれません。 それに、リポジトリが10GBで生成物が1GBというのは普通に考えてバランスが悪いですよね。 HTMLになるのですから、(Pagesでの利用法では)生成物の方が大きいのが普通ですからね。

この制限がありますので、現状サイト全体で1GBを超えてしまうのであれば、 VPSなどの他の方法を考えた方が良いのだと思います。

リポジトリサイズの制限については、GitHubも1GB以下が推奨されている ようですね(ただし、それ以上が絶対だめとは書かれていない)。それを考えると、 自前でサーバを管理しないのであれば、無料で使用できるサービスでは最強といえるのではないでしょうか?

記事は続くよ

だらだらと書いてしまいましたが、実際にGitLab Pagesを使う上での具体的方法については、 また別途記事にしたいと思います。

次の記事はこちら

2017/1/21追記: GitLabのセットアップはほぼできたのですが、どうもLet’s Encryptの証明書を設定するところで問題に遭遇しました。 カスタムドメインの証明書をGitLabに設定して、当該ドメイン名でアクセスしても、 何故だかgitlab.ioの証明書がブラウザに送られてきてしまいます。というわけで、当初の目的はNetlify にて達成できたので、そちらも参照してください。記事はこちら

comments powered by Disqus