2018年6月、GitHub(ギットハブ)がマイクロソフトによって買収されることが決定しました。
そこで脚光を浴びているのが、Gitを利用したリポジトリ管理の分野でナンバーツーの存在だった「GitLab(ギットラボ)」。
GitHubと異なる幾つかの利点があります。しかも、なんとGitLabの幹部にはWordPress創設者も名を連ねているのです。
GitHub買収後、インポート数が10倍に激増するなど、人気が爆発しているGitLab。具体的にどんなサービスなのか紹介します。
この記事は現役エンジニアによって監修済みです。
この記事の目次
そもそもGitとは
Gitはソースコードのバージョン管理ツールです。
Gitと、GitHub・GitLabは同じものではなく、あくまでGitHubなどのサービスは「Gitを利用したサービス」です。
Gitはファイルやディレクトリを記録するリポジトリを、ローカルに複製。ローカルで行った変更・修正はサーバー上のリモートリポジトリに反映可能。
反対にサーバー上のリポジトリの変更も、ローカルに反映できます。サーバー上のリポジトリを直接変更しなくとも、ローカル環境で「サーバー上のリポジトリ」と同様の環境で作業ができます。
よって安全性が高い上に、複数人での作業・管理がしやすいことが特徴です。
Gitはバージョン管理システムのデファクトスタンダードとなっています。エンジニアのソースコード管理はもちろん、文章校正などに活用されるケースも出てきています。
GitLab(ギットラボ)とは?
GitLabはオープンソースのGitリポジトリ管理ソフトウェアです。2014年に創業。最新の資金調達も含めて、4500万ドル以上の資金調達を成功させるなど、Gitリポジトリ管理の分野においてはGitHubに次ぐ「ナンバーツー」の存在と言えるでしょう。
キャッチコピーは「A 200% Faster DevOps Cycle」。DevOpsのサイクルを200%早くすることを謳っています。
オープンソースのコードリポジトリサービス
GitLabは、GitHubと「バージョン管理システムGitを利用したリポジトリサービス」であるという点で多くの共通した特徴を持っています。
GitHubとGitLabの大きな違いは「プライベートリポジトリが無償か否か」と「セルフホスト」の存在です。
GitLabはプライベートリポジトリが無料
GitHubにリポジトリを作成し、ファイルを公開すると、基本的にステータスは「Public」になります。
ソースコードはオープンソースの扱いとなり、誰でも見ることができます。VR開発分野で用いられるゲームエンジン「Unreal Engine 4」や仮想通貨「ビットコイン」のソースコードなどが、GitHubではオープンソースで公開されています。
一方で「開発途中のソースコードは誰にも見られたくない」というケースもあるでしょう。この場合、GitHubでステータスを「Private」にするには有償プランへの登録が必要です。プライベートリポジトリを持つためには、お金を払わなくてはいけないのです。
一方、GitLabではプライベートリポジトリを無料で作ることができます。
GitLabは自前のサーバーにセルフホスト可能
セルフホストの違いも大きいです。
GitHubでは、基本的にGitHubのサーバーにソースコードを保管していく形です。
一方、GitLabでは自前のサーバーにセルフホスト。完全に自社環境で、GitLabを使った開発が可能です。
セキュリティや情報管理の観点から、GitHubを使いたくない。しかしバージョン管理システムは導入したいという場合には、GitLabは最高の選択肢の一つです。
もちろんGitLabには、GitHubと同様のサービスバージョンも存在します。またセルフホストはしたいがサーバーの用意が面倒という人に向けて、ホスティングサービスもあります。
プログラミング言語「Ruby」を採用。一部はGo・vue.js
GitLabの開発には、Rubyが採用されています。また一部分にはGo、vue.jsが使われています。
ロゴの動物はキツネではなく、タヌキ
GitLabで度々話題となるのが、ロゴマーク。
非常にソリッドなデザインで、シューティングゲームに出てきそうなマークです。色合い的にも、見た目的にもキツネにしか見えないですよね。
ところが、実際にはこのロゴマークはタヌキがモチーフだそう。
GitHubのタコと猫がミックスされたキャラクター「オクトキャット」の可愛い路線とは、ちょっと違うテイストですね。
GitHub買収に危機感を持った海外エンジニアの間で、一気に認知度が拡大
GitLabは以前より、GitHubのナンバーツー的な存在のサービスとして人気がありました。
さらなる認知度拡大のきっかけとなったのは、マイクロソフトによるGitHubの買収発表です。
海外エンジニアの間では、GitHub買収に対する生理的な嫌悪感が強く、マイクロソフトに「No」をつきつけるエンジニアが後を絶ちません。
この買収に対して、GitLabが「Congratulations GitHub on the acquisition by Microsoft | GitLab(GitHub、マイクロソフトによる買収おめでとう。GitLab)」という皮肉たっぷりのメッセージを発表したことも話題になりました。
GitHub買収発表後は、GitLabへのソースコードのインポート数が以前の10倍に急拡大しています。
NASA、SONY、コムキャストなどが採用
GitLabは、セルフホストが可能なことから「セキュリティ上の理由でGitHubが使えない」という企業の間で導入が進んでいます。
代表例はNASA、SONY、コムキャストなどです。GitHubよりもプライベートリポジトリが安く持てるのも人気の理由でしょう。
GitLab(ギットラボ)の製品
GitLabには大きく分けて、3通りの製品があります。
GitLab CE/EE
GitLab CE(Community Edition)は、オープンソースの無償版です。EEは「Enterprise Edition」の略で機能強化がされた有償版です。
一般的な使い方であれば、CEでも十分でしょう。大規模開発を行いたい場合は、EEの利用を検討してください。
GitLab.com
GitLabのサーバー上で、GitLabを使用できるのが「GitLab.com」です。AWSや自前サーバーにGitLabを構築するのが面倒。しかしGitLabを使いたい方におすすめです。
GitHubと違い、プライベートリポジトリを無償で持つことができるため「非公開状態のリポジトリを無料で使いたい」という方におすすめです。
GitHost
セルフホストをしたいけれど、ホストするためのサーバーの用意が面倒という方に向けたホスティングサービスです。
この記事のハッシュタグ
GitLabの使い方
サーバーにGitLabを構築する
GitLabはAWSやGoogle Cloud Platform、Microsoft Azureなどのクラウド上に環境を構築することが可能です。
AWSに環境構築をする場合の手順は、公式ウェブサイトに公開されています。
・https://about.gitlab.com/aws/
またクラウドではなく、ローカルで環境構築をすることも可能。Raspberry Piにインストールすることもできます。
・https://about.gitlab.com/installation/#raspberry-pi-2
セットアップ
GitLabの構築が完了後、GitLabにアクセスすると続けてadminのパスワード変更を求められます。adminのパスワードは大文字・小文字・数字を交えた複雑なものにしておくと、安全性が高まります。
adminのパスワードの変更が完了すると、続けてユーザー登録を求められます。
登録に成功すると、GitLabのトップページが表示されます。
2017年10月には2000万ドルを調達
GitLabは2017年10月に2000万ドルの資金調達に成功しています。2014年に創業したGitLabは累計で4500万ドル以上の資金調達を行っています。
資金力を武器に、GitLabはM&A戦略も推進。
オープンソースのインフラツールプロバイダーのGitoriousや、開発者向けチャットプラットフォームのGitterを買収し、サービスの拡張を進めています。
DevOps分野の強力な推進を目指す
GitLabが一環として取り組んでいるのが、DevOps分野の推進です。
ソースコード管理、テスト自動化、管理に関するプロセスの自動化などを志向。DevOpsの主要プラットフォームの座を目指しています。
GitLabが取り組むDevOpsとは?
GitLabが取り組む「DevOps」とは具体的に何なのでしょう。
開発者と運用者が密接に連携し、スピーディーに開発を行うこと
DevOpsとは、開発(Development)と運用(Operations)が協力。ビジネスをより柔軟かつ効率的に推進するためのプラクティスです。
DevOpsが必要とされる背景には開発者(Development)と運用(Operations)が同じ方向を向いてビジネスを進めることがなかなかできず、衝突が起こりやすいという問題があります。
開発者のミッションは機能追加・変更
開発者のミッションは、機能追加や変更にあります。システムをより良いものにするため、機能追加や機能の変更、バグの修正などを行います。
一見安定的に動いているシステムであっても、実際にはUIやUXに課題が残っていたり、競合に対してさらなる優位性を発揮するために改良すべき点というのはあるものです。
そのため、開発者はシステムのさらなるアップデートを望みます。
運用者のミッションは運用。機能追加を敬遠する
一方で運用者のミッションは、システムの安定的な稼働です。
安定的に稼働しているシステムにとって、機能追加や修正は一種のリスクです。それらの機能追加が、新たなバグの原因になり得るからです。
そのため、運用者は機能追加を敬遠する傾向にあります。
DevOpsに必要なこと
こうした対立構造を乗り越え、開発者と運用者がより積極的に協力し合える仕組みを探るのが「DevOps」です。
DevOpsでは「測定」「共有」「自動化」「コラボレーション」「カルチャー」という5つのキーワードが重視されます。
測定・共有・自動化
主に「測定」とは、開発者が機能の追加の際に参照するログの測定の効率化を指します。
開発者は、システムの稼働後に「システムを触る権限」を与えられないことも多いです。一度稼働したシステムの運用は、開発者ではなく運用者の役割だからです。
システムを触る権限は運用者に移され、機能追加・修正は運用者とやりとりした上で行われます。
すると、開発者はエラーやバグを調査するにも、運用者にログの取得を依頼することとなります。運用者は日頃のタスクに追われており、こうした依頼にスピーディーに対応しづらいのも事実。このようにしてバグ修正や機能アップデートは少しずつ後ろ倒しになっていきます。
ログの測定と、それらの開発者・運用者間での「共有」。設定・管理の自動化が実現されると、これらの作業は双方にとって負荷が小さなものとなります。
コラボレーションとカルチャー
開発者と運用者はミッションも、それぞれが持つ専門性も異なります。
そのため、DevOpsを実現するには「測定・共有・自動化」だけでは不十分です。
お互いの認識の抜け漏れを防ぐためには「コラボレーション」と「カルチャー」が必要です。
コラボレーションとは、DevとOpsの協力関係を円滑にするための仕組みを指します。例えばバグの修正であれば「バグ管理システム(バグトラッキングシステム)」の導入が、コラボレーションには有効です。
バグの修正状況が、非エンジニアでも視覚的にわかるため「機能の修正がどこまで進んだのか」が把握しやすくなります。
カルチャーとは、お互いの専門性を持ち寄り「いいビジネスをしよう」「いいプロダクトを作ろう」と前を向くことができる文化のことを指します。
こうしたカルチャーがなくては、DevとOpsの協力関係は「互いの人間関係」が原因で破綻してしまいます。
GitLabの今後
DevOpsを強力に推し進めるGitLab。今後はどのような発展を続けていくのでしょうか。
GitHubからのソースコードの移行が続く
GitHubの買収発表後、爆発的に知名度が高まったGitLab。Appleが「Xcode 10」でのGitLabサポートを決定したことも、追い風に。GitHubからのソースコードの移行、ユーザーの乗り換えが続いています。
GitLabはこの流れを受けて、オープンソースプロジェクトと教育機関向けに有償プラン「GitLab Ultimate」および「GitLab Gold」の無償化を発表。2018年6月6日中の申し込みが対象となります。
GitHubからGitLabへの乗り換えの流れは当面続きそうです。
WordPress創業者・Matt Mullenweg氏が幹部に
GitLabは2017年10月に、WordPress創業者・Matt Mullenweg氏を幹部に向かい入れています。
Matt氏が創設したWordPressは、世界で最も成功したオープンソースのブログソフトウェア。
世界全体のウェブサイトの3分の1はWordPressで作成されており、CMSだけに限ると6割がWordPressを採用しています。
Matt氏は慈善活動に協力的なことでも知られており、Internet Archiveやフリーソフトウェア財団などの活動をサポートしています。
GitLabはオープンソース文化の第一人者、Matt氏の強力なサポートを得て、一層のオープンソース文化の推進を進めていくとみられます。
まとめ
GitLabについて解説しました。プライベートリポジトリを無償で持つことができる。セルフホストが可能など、GitHubにはない特徴を持つGitLab。
オープンソース文化との親和性が極めて高く、DevOpsを推進していく姿勢を表明しています。
GitHubからの移行を検討中の方は、ぜひGitLabに登録してみてください。
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。