はじめに
ソースコードのバージョン管理にどんなサービスを選ぶべきか、仕事で検討する機会があり記事にしてみました。
候補としてはGithubとGitLabの2択ではないかと思います。
しかし、色々なネットの記事などを見ても、差異はいくつかあるものの結局どちらを選ぶべきかの答えには至りませんでした。
結論としては、 どっちも安心して使える良いサービス、どっちを選んでも慣れてしまえば困ることはほぼない。
と思いました。
どちらかに決めた会社はきっとなんらかの理由でバージョン管理ツールを決めたはずなので、一応それぞれの特徴について主な内容をまとめてみます。
GithubとGitLabの特徴
Github
【主な特徴】
- Gitをオンライン上で管理するWebサービス。
- 無料でほとんどのことはできる。
- 数年前まではprivateリポジトリの作成は有料だった。
- 数年前まではpublicが前提で、長年他のエンジニアとのコミュニティの場として利用されてきた。
【その他】
- 数年前にMicrosoftに買収され、そのころに無料でできる範囲が増えた。
- 有償パッケージ版の GitHub Enterprise もある。こちらは自社サーバにインストールして使う。
GitLab
【主な特徴】
- OSS。自前のサーバにインストールして使う。
- 無料でほとんどのことはできる。
- GitHubよりも前にプライベートリポジトリを無料で作成できていた。
- 自前のサーバにインストールしてクローズドな環境で利用する前提だったことから、企業や学校で採用されやすかった。
- 利用者の大幅な増加や、大規模なシステム管理などでは料金体系的に若干安価になるかも。
【その他】
- 無償版はGitLab Community Edition、有償で強化機能版のGitLab Enterprise Editionがある。
- Githubにインスパイアされて作られたGithubのOSS版みたいなもの。機能面は見劣りしない。
おわりに
いくつかのプロジェクトを経験しましたが、自分自身はGitLabの遭遇率が高かったです。
もともと記事を書いたきっかけは、GitLabが多かったのはなんらかの理由があるはず、
自分の業務ではどちらを選択するべきだろう、と思ったことです。
しかしそれはたまたまプロジェクトの規模が非常に大きく、料金体系が安価になりやすかったことや、 上述した通り数年前まではGit hubではprivateリポジトリの利用が制限されていたなどの理由ではないかと思います。
あとは自前のサーバーにインストールして使う点で、Git hubよりも少々セキュリティにうるさい会社には向いているのかもしれません。
その他の詳しい差異や有償版の料金体系などはググればたくさんでてくると思います。
以上、GithubとGitLabどちらを選ぶべきか調べた内容でした。