- コラボレーター
- 加留部 有哉
GitHub Enterprise、GitLab、BitBucket。GitHubライクなサービス3つの特徴を紹介【連載第7回】
SELECKでは今まで、ソースコード管理ツール「GitHub」の活用方法を連載してきました。GitHubには便利な機能がたくさんありますが、デメリットも少なからずあります。
そこで今回は、GitHubに近い機能を持ちながらも、それぞれ違った特徴をもったサービス(GitHubライクなサービス)を3つ紹介します。
目次
- プライベートな環境に構築できる「GitHub Enterprise」
- コストを抑えるなら、OSSの「GitLab」
- プロジェクト管理に強い、Atlassian製の「Bitbucket」
- それでもGitHubを使うことのメリットは?
▼このシリーズの記事一覧
- チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】
- チーム開発を変える「GitHub」とは?〜Pull Requestの使い方〜【連載第2回】
- チーム開発を変える「GitHub」とは?〜Issuesの使い方〜【連載第3回】
- チーム開発を変える「GitHub」とは?〜Organizationとアクセス管理〜【連載第4回】
- チーム開発を変える「GitHub」とは?〜ZenHubでカンバンを使う〜【番外編】
- GitHubライクな機能が備わったOSS「GitLab」とは?【GitHub入門】【第5回】
- GitHubがより便利になる使い方、ショートカット・Trending・gitterを解説【連載第6回】
- GitHub Enterprise、GitLab、BitBucket。GitHubライクなサービス3つの特徴を紹介【連載第7回】
プライベートな環境に構築できる「GitHub Enterprise」
GitHubは非常に便利なサービスですが、ソースコードを外部サービスに置くことに抵抗のある企業もあるかと思います。そういう企業のために、GitHubは「GitHub Enterprise」という、自社のサーバー(AWSやAzureも可)にGitHub環境を構築するサービスも展開しています。
また、GitHub Enterpriseはその名の通り、GitHubとほぼ同じUI、操作性を持っています。普段からGitHubに触れているエンジニアにとっては、これほど使いやすいものは無いのではないでしょうか。
さらに、GitHub.comで障害が発生しても、自社のGitHub Enterpriseが影響を受けることはありません。普段からGitHubを使っていて、障害の発生で(ユニコーンが表示されますよね…)作業が止まってしまう経験をお持ちの方は、そのメリットが理解できるのではないでしょうか。
GitHubのようなオープンなサービスは、気をつけていても操作ミスでセキュリティ問題を起こしてしまうリスクもあります。コストは少々お高めですが、自社でサーバーを用意できる企業は、選択肢の1つにGitHub Enterpriseを入れてみても良いかもしれません。
コストを抑えるなら、OSSの「GitLab」
GitHubは2016年5月、大幅な価格改定を発表しました。これまでのプライベートリポジトリ数での課金から、ユーザー数での課金に変更されています。
この変更により、大規模な組織だと、今までよりもコストがかかってしまう可能性があります。そのような組織は、OSSで提供される「GitLab」を選択肢に入れてみてはどうでしょうか。
GitLabはOSSで提供されているサービスで、自社のサーバーにインストールして使うことができます。もちろん、コストはそのサーバーの運用費だけなので、GitHubを使うよりも節約できる可能性があります。
過去にSELECKで取材した、株式会社ウエディングパークでも、GitLabを導入しています。その決め手はやはり、コストだったようです。
GitLabを選んだのは、ソースコードをクラウドに置きたくないということも理由としてはありましたが、一番大きかったのはコストですね。
結構な数のレポジトリを管理しているので、環境さえ構築できればあとは無料で使えるという点がありがたかったです。
プロジェクト管理にも強い、Atlassian製の「Bitbucket」
プロジェクト管理ツール「JIRA」や、情報共有ツール「Confluence」など、開発者向けに数々のサービスを展開しているAtlassian。同社は、リポジトリ管理サービス「Bitbucket」も運営しています。
プルリクエストやCI、チャットツールとの連携など、基本的な機能が揃っているのはもちろん、何より良いのは他の製品との連携機能です。
GitHubは非常に良いサービスですが、Issueの期限設定の自由度が低かったり、単体でプロジェクト管理までしようと思うと難しいところがあります。
他のプロジェクト管理ツールを導入して、Issuesとの2重管理になってしまうことも…それを補完するため、「Zenhub」や「Waffle.io」のようなGitHub Issuesと連携するサービスも出てきていますが、「Bitbucket」を使うというのも、選択肢の1つです。
Bitbucketなら、コミットやプルリクエストをJIRAと密に連携し、より細かいプロジェクト管理が容易になります。同じ会社が開発しているからこそですね!
それでもGitHubを使うことのメリットは?
GitHubに代わるサービスを3つ紹介しました。どれも、GitHubには無い特徴を持った、良いサービスです。では、GitHubだけにある特徴は何でしょうか?
使い慣れている人が多い、連携できるサービスが豊富であるといった点が挙げられますが、何よりも「OSS(オープンソースソフトウェア)開発のスタンダードである」ことが大きいでしょう。
今ではOSSの開発はGitHubでされることがスタンダードとなり、Issuesを活用したディスカッション、プルリクエストを使ったコントリビューションが活発になっています。それに合わせて、企業が自社で使っているコードを公開する流れも加速しています。
以前取材した、株式会社サイバーエージェントでも、その時代の流れを見据えて、積極的にOSSを公開し、企業価値を高めていく活動を推進しています。
いわゆるITベンチャーだけでなく、例えばソニーやディズニーなどの世界的大企業もGitHubに自社のOrganizationを作ってリポジトリを公開し始めています。
この世界的な流れに乗らないのはもはや時代遅れで、その人達と戦う上で公開しない理由はもうあまりないと感じています。むしろコードを公開しないほうがリスクになる時代です。
どのツールやサービスを活用するかという選択は、使い勝手が違うだけでなく、企業の文化にも影響を与えます。SELECKにある数々の導入事例も参考に、自社に最適なサービスを、今一度考えてみてはどうでしょうか?
▼このシリーズの記事一覧
- チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】
- チーム開発を変える「GitHub」とは?〜Pull Requestの使い方〜【連載第2回】
- チーム開発を変える「GitHub」とは?〜Issuesの使い方〜【連載第3回】
- チーム開発を変える「GitHub」とは?〜Organizationとアクセス管理〜【連載第4回】
- チーム開発を変える「GitHub」とは?〜ZenHubでカンバンを使う〜【番外編】
- GitHubライクな機能が備わったOSS「GitLab」とは?【GitHub入門】【第5回】
- GitHubがより便利になる使い方、ショートカット・Trending・gitterを解説【連載第6回】
- GitHub Enterprise、GitLab、BitBucket。GitHubライクなサービス3つの特徴を紹介【連載第7回】