GitLab

GitLab

GitLabはGitリポジトリ管理システムで、継続的インテグレーション、課題管理、チームサポート、wikiドキュメントの作成などの統合機能を提供します。

GitLabを高速化

GitLabとは?

GitLabにはSaaS (Software-as-a-Service) タイプのホスト型商用バージョンと、GitLab CE (Community Edition) の2つのバージョンがあります。商用バージョンは一部未公開ですが、Ruby on Railsで構築されたGitLab CEをベースに一部をGoとVue.jsで記述することで、スピードと柔軟性が向上しています。

今すぐ始める
What is GitLab?

しくみ

GitLabのコアユーザー機能はGitリポジトリ管理システムであり、閲覧、監査、統合などコマンドライン インターフェイスでの作業が必要な日常タスクを視覚的に実行できます。フロントエンドのユーザー エクスペリエンスの大部分は、ウェブサーバーで動作するRuby on Railsによって実現されており、Redisサーバー上のジョブプールを経由して、Goで記述されたGitLab Runnerと呼ばれるバックエンドヘルパーにタスクを渡します。

GitはGitLab Shellシステム経由でリポジトリを管理するのに使われ、PostgreSQLがユーザー、リポジトリ、wikiドキュメントなどのメタデータを保存します。

歴史

ウクライナ人開発者Dimitriy Zaporozhets氏とValery Sizov氏は、2011年に無料のオープンソース アプリケーションとしてGitLabを公開し、その後2014年にGitLab, Inc.という組織を設立しました。GitLab, Inc.はGitorious (2015年)、Gitter (2017年)、Gemnasium(2018年) など複数の企業を買収し、ホステッド サービスに新たなユーザーを呼び込み、GitLabに機能を追加しています。

GitLabはこれまでに多くの資金を調達しており、現在は中国市場にも事業を拡大しています。2019年現在、GitLab, Inc.の評価額は27億ドルに上ります。

オープンソースのGitLab CEの最新の安定版は2021年4月1日にリリースされた13.10.2です。

無料トライアルは

こちらをクリック

GitLabのプラグイン

GitLabにはさまざまなプラグインや統合機能が用意されており、優れた機能をさらに拡張することができます。LDAP認証やOAuth2認証、公開プロジェクトや課題管理のスパムをブロックするためのAkismetの追加、Trellなどのタスク管理システムとの統合などが可能です。

また、GraphQL APIを使って他のアプリケーションで利用することもできます。

メリット

  • セルフホステッド / オンプレミス環境で動作
  • 徹底したソースコード管理 (SCM) により、ブランチを簡単にレビュー、追跡、マージ
  • 継続的インテグレーション (CI) はソフトウェア ビルドのコンパイル、テスト、検証用に自動化されたパイプラインを提供
  • 細かい権限設定でマージやプッシュを特定のユーザーに制限
  • Wikiページでプロジェクトを文書化
  • 無料の静的ウェブサイトGitLab Pagesの公開
  • 自動のシークレット検出とセキュリティテストでコードベースの安全を確保
  • タイムトラッキング、生産性分析、Jiraとの統合によりチームの進捗状況を把握
  • また、GitLabのプレミアムプランでは、詳しい貢献度分析、グループやプロジェクトのインサイト、コード品質レポート、コンプライアンス追跡など、エンタープライズ レベルの機能を提供しています。

オンラインとオンプレミス

GitLabはオープンソース ライセンスなので、クラウドやオンプレミスのサーバー上でGitLab Community Edition (CE) を自由に利用できます。これは大きなメリットですが、GitLabのマネージドサービスを購入した場合とセルフホスティングの場合の全体的なコスト対利益を考える必要があります。

既存のインフラがない組織の場合は、IT予算に新しいサーバーのコストが加算されます。さらに、そのサーバーやGitLabソフトウェア自体のセットアップやメンテナンスには、システム管理やDevOpsの経験が必要となります。このような維持管理のために、従業員の時間を割くか、別に管理者を雇う必要があります。

予算の少ない新しい組織であればGitLabの無料プランの提供する豊富な機能は魅力的です。時間と人員が限られているのであれば、プレミアムプランに含まれる豊富な機能とサポートでGitLabのマネージドサービスへの投資はメリットが大きいでしょう。

GitLabやその競合であるGitHubやBitBucketは信頼できる企業が提供する安全なサービスです。とはいえ、これらの環境に保存されたコードは、最終的には他社のサーバー上で実行されていることになります。完璧なプライバシーにこだわり、DevOpsのインフラを自社で管理したいなら、セルフホスト型のGitLab Community Editionが最適な選択肢といえます。

GitLabとGitHubの違い

GitLabとGitHubはどちらも優れた製品で、GitLabがオープンソースのアプリケーションとしてオンプレミスで動作すること以外に機能の違いはあまりありません。

  • GitLabはセルフホスト型のGitLab CEを提供しているが、GitHubはすべてホスト型のSaaS (Software as a Service) として提供されている。
  • GitLabは統合されたCIを最初に提供したが、GitHubはActionsを使ってCI機能を追加できる。GitLabの方が簡単にDevOpsを自動化可能。
  • GitLabはタイムトラッキングをネイティブ サポートしているが、GitHubはGitHub Marketplaceのサードパーティ製アプリケーションが必要。
  • GitHubの方が開発者コミュニティの規模が大きい。

Incredibuildとの統合

GitLabのデプロイメントツールと継続的インテグレーションツールは、チームに大きなアドバンテージをもたらします。これらの機能を強化し、ローカルネットワーク上やクラウド上の複数のマシンでのビルドを可能にするのがIncredibleです。CIパイプラインを高速化し、プロジェクトのテストとビルドをスピードアップします。

IncredibuildとGitLabはいくつかのファイルを編集するだけで簡単に統合できます。詳しくはこちらをご覧ください。

icon

まとめ

GitLabはセルフホスト型GitベースのDevOpsコード管理プラットフォームとして人気があります。豊富な機能、優れた統合、API機能、オープンソース ライセンスにより多くの組織にとって魅力的な選択肢となっています。

無料ライセンス