iPhoneで Grafanaの グラフを 参照できる アプリ Grafanizer 作ってます。 詳しくは こちらへ

なぜGitLabのPagesを使うのか

ブログスペースもたくさんあるしGitHubでもPages機能がある(って言うかGitHubの方が先)のに、なんでGitLabのPagesを選択したかっていう話。

理由はいくつかあるんだけど、なんとなく自由度が高いかなっていう気持ちの面が大きいかもしれない。

ちなみに、JSが自由に使えないブログスペースは最初から却下。

仕事でGitLabを使ってる

ちっちゃい会社なのでGitHubEnterpriseなんてのはもってのほかで、会社のソースコードは社内サーバーのGitLabで管理してる。

それで何年か使ってると、なんとなくGitHubよりGitLabの方に愛着が湧いてくる。以前、「GitLabは貧者のGitHubEnterprise」と呼ばれる事もあったけど、今は機能的には遜色なくてMasterブランチにプロテクト掛けてPR(MR)経由じゃないとプッシュ出来ないようにする設定とかまで出来るようになっている。

他には、会社ではStableなGitLabCEを2週間遅れくらいでアップデート掛けて使ってるんだけど、GitLab.comでのPages機能を使えば最新のバージョンをGitLabEEの環境で使うことができるので、会社でアップデートする前に新しいバージョンを試用することも出来るってことも個人的にはメリットかも。

Privateリポジトリに出来る

GitHubも課金すればPrivateRepoをもてるんだけど、GitLab.comは完全無料ってのはやっぱり大きい。

GitHubのPublicRepoでBlogなんて書いたら更新履歴のコメントどうします? いちいち入れます?
多分「aaa」とか「hoge」とか「YYYYMMDD」とかにしちゃうでしょ? そんな履歴見られたら恥ずかしく無いですか?

英語でかっこいいコメントを入れるセンスとか、笑点メンバーもびっくりなニヤッとしちゃうコメントでも入れられるなら別ですけどね。

ちなみに、PrivateなリポジトリでPageを公開してもPageはPublicになりますので何も心配は要りません。

CI機能を使って作業を自動化出来る

個人的にはここを一番推したいですね。

GitHubPagesの場合は

  • ローカルで静的ファイルに変換する
  • GitHubPagesのJekyllを使う
  • 外部のCIを使って静的ファイルを作成する

から選ぶ必要があるわけですが、ちょっとどれも一長一短があるわけです。

実際、以前Jekyllを使って公開していたことがあったんです。でも、PC変えたらRubyとJekyllの環境作らなきゃいけないし、Gitが使える環境じゃなきゃ更新できないし。で、いつのまにか更新しなくなってましたね(遠い目。

GitLabもGitHubのやりかたもそのまま使えるんだけど、CIが組み込まれてるので文章の作成と公開をキレイに分離することが出来る。

文章はローカルで書いてもいいしGitLab上のブラウザ画面で編集しても良い、何らかの方法でコミットしてしまえばその後は設定したとおりに公開まで自動的に進んでいく。

GitHubでも外部のCIを使えば同じことが出来るんだろうけど、なんとなく面倒そうなのは用意に想像できる(やったことがないんで良く分かってない)。

ちなみに、このページでは組み込みのCI機能を使って

  • Git submoduleの解決
  • ImageMagickでの画像リサイズ
  • hogoでの静的ファイル作成
  • デプロイ

ということをしているんだけど、将来的にはRecommend機能とかも付け加えることが出来るんじゃないかと考えてる。

GitHubと比べて

速度比較

で、このページを読むとGitLabっていいところばっかりじゃんとなりそうなんだけど、速度的にはもう完敗。

GitLabだって全然遅いとは思わないんだけど、GitHubが早過ぎるんじゃないの? って感じですかね。

GitLabPages

GitLabPages

GitHubPages

GitHubPages


というわけで、GitLabページでサイトを作るメリットをつらつらと書いてみました。

まとめてみると プライベートで自由度の高い最新の環境を使ってブログを公開することができる ってことですかね。

追伸: GitLab.comのCIですが、結構時間がかかります。午前中は時差の関係もあってかなり快適ですが、午後をまわると簡単なbuildでも39min程度は覚悟しておいたほうが良いです。そのうち解消されていくと思いますが。