Columnコラム

GitLab(ギットラボ)とは?
機能や使い方、
料金を分かりやすく解説

2022年12月23日

ご相談・無料お見積り

GitLab(ギットラボ)とは、Gitリポジトリをホスティングするソフトウェアです。
ソフトの計画から開発・テスト・リリース・運用・監視というDevOps(デプオプス)ライフサイクルに必要な機能がすべて搭載されています。
今回は、GitLabとはどんなソフトウェアなのか、機能や使い方、料金など、導入にあたって知っておきたい情報を分かりやすく解説します。

GitLab(ギットラボ)とは

GitLabは、DevOpsを実現するために設計された開発プラットフォームで、オールインワンソリューションを提供しています。
DevOpsとは、開発チームと運用チームが協力してシステムやソフトウェアの価値を迅速かつ正確にエンドユーザーに届けるという概念のことです。

通常、DevOpsを実現するには、複数のツールを組み合わせて使用する必要があります。
しかし、GitLabは単一のアプリケーションでDevOpsのライフサイクル全般に対応しているのが特徴です。

GitLabは単一のアプリケーションでDevOpsのライフサイクル全般に対応しているのが特徴です。 

GitLabが注目される背景としては、近年、ソフトウェア開発おいてスピード感が求められるようになり、アジャイル開発が主流となったことが挙げられます。

アジャイル開発とは、DevOpsの具体的な開発手法のことで、開発工程を上流から下流まで順番に行うのではなく機能ごとに分割し、最小単位で開発やテスト、リリースまでを行います。
機能単位で開発を行うことで、バグなどの不具合を発見しやすくなり、すぐに対応ができるため、ビジネスチャンスを逃さないスピーディーなリリースを実現できます。
また、小規模なリリースを繰り返す手法のため、仕様変更等にもスムーズに対応できるというメリットもあります。

GitLabには、アジャイル開発をスムーズに行うための機能が備わっているため、今では世界で10万を超える企業がGitLabの有償プランを利用するなど、開発現場におけるグローバルスタンダードとなっているのです。

GitLabの提供方法には、「SaaS版」と「Self-Managed版」の2種類があります。
SaaS版はGitLabがアメリカのGoogle Cloud PlatformでホストするSaaS環境を利用するため、自社でサーバーを運用する必要がなく、手軽に使えるというメリットがあります。
一方で、Self-Managed版の場合は、利用者自身のオンプレミスまたはクラウド環境にインストールして利用します。サーバーは自分たちで運用する必要がありますが、基盤周り含めて自由度が高いのがメリットです。

GitLabとGithub(ギットハブ)の違い

DevOpsを実現するための代表的なツールとしては、GitLab以外にGitHub(ギットハブ)もあります。
GitLabのほうが後発なため、GitHubの機能を取り入れたうえで、さらに機能を向上させているのが特徴です。

また、GitLabとGitHubはどちらも無料プランと有料プランがあります。
しかし、2つの無料プランの機能を比べると、GitLabは無料で利用できる機能が充実している点が大きな魅力となっています。

GitLabとGitHubの主な違いは、以下の通りです。

工程 機能 GitLab GitHub 備考
計画 計画機能 GitLabはエピックを利用したロードマップやマイルストーンを活用したバーンアップ、バーンダウンチャート等計画機能が充実
ポートフォリオ管理

GitLabはポートフォリオレベルで複数のマイルストーンを作成して進捗管理可能

サービスデスク × GitLabはアカウントがないユーザともIssueでリクエスト可能
要件管理 × GitLabは要件を使用して、製品をチェックするための基準設定可能
品質管理 × GitLabはテストと品質を計画、追跡可能
開発 ソースコード管理
コードレビュー
Wiki
ページ
Web IDE GitHubはVisual Studio Codeの多くのプラグインで拡張でき、コード検索と課題管理機能が強化されています
スニペット
検索
リモート開発 × GitHubは Code Spaceを介してすでての機能をVisual Studio Code環境に提供
解析 CI/CDパイプライン
シークレット管理 GitLabはシークレット変数を統制管理にて提供
コードテストとカバレッジ × GitLabはテストケースを視覚し、カバレッジを確認するための機能を提供
性能試験 × GitLabはパフォーマンステストを提供
アプリのレビュー × GitLabはブランチごとにアプリ環境を作成するため、マージ前にアプリを確認可能
パッケージ パッケージレジストリ
コンテナレジストリ
Helmチャートレジストリ × GitLabはHelmチャートを利用して、配布とインストールのプロセスを標準化可能
依存関係プロキシ × GitLabは依存関係プロキシを提供
Git LFS GitHubはリポジトリ内のポインタファイルを管理
セキュリティ SAST
DAST × GitLabは動的アプリケーションのセキュリティテストを提供
Fuzz Testing × GitLabはカバレッジベースのファジングを提供
Deoendency Scanning GitLabは依存関係スキャンの修正は手動操作が必要
ライセンスコンプライアンス × GitLabは依存関係のライセンスを検索可能
コンテナスキャン × GitLabはコンテナスキャンを提供
IaCスキャン × GitLabはインフラストラクチャスキャンを提供
APIセキュリティ ×

GitLabはWeb APIに対するセキュリティテスト機能を提供

リリース

高度なデプロイ × GitLabはカナリアデプロイ等高度なデプロイ機能を提供
Feature Flag × GitLabはFeature Flagを提供
環境管理 GitLabはデプロイ環境の管理機能を提供
構成管理


Auto DevOps × GitLabはビルド、テスト、デプロイ等のパイプラインのテンプレートを提供
Kubernetes管理 GitLabはデプロイと分析情報を確認可能
ChatOps GitLabはSlack,Mattermostから使用できるスラッシュコマンドを提供
Infrastructure as Code × GitLabはTeraformと統合しテンプレートも提供
モニター メトリクス × GitLabはPrometheusを活用して、アプリケーションのパフォーマンスメトリクスを表示
インシデント管理 × GitLabはアラートの度にインシデントを自動作成可能
監査 脆弱性管理 × GitLabは脆弱性を一つのボードとして管理可能
コンプライアンス管理 × GitLabはコンプライアンスを管理するための機能を提供
監査

GitLabは特定のアクションを包括的なレポートとして生成

セキュリティポリシー管理 GitLabはセキュリティポリシーを提供
依存関係の管理 GitLabはCycloneDXをサポートしたSBOMを作成
セキュリティダッシュボード GitLabは各スキャナーで検出された脆弱性のダッシュボードを提供

成熟度:◎:完全的 ○:良し △:基本機能 ×:機能なし
参照:
https://about.gitlab.com/competition/github/
https://about.gitlab.com/devops-tools/github-vs-gitlab/

GitLabはマルチクラウドに対応しているほか、オンプレミス環境でも運用可能です。
オンプレミス環境で運用することでセキュリティの強化が可能なため、機密情報や個人情報を扱う企業も安心して利用できます。

また、GitHubはマーケットプレイス型のため、機能ごとにツールとの連携や追加をする作業が必要です。
しかし、GitLabはオールインワンソリューションのため、単一のアプリケーションでDevOpsのライフサイクルをすべて実現できる点も大きな違いです。

GitLab(ギットラボ)を導入するメリット

GitLabを導入すると、以下のようなメリットが得られます。  

DevOpsを実現できる

前述の通り、GitLabは単一のアプリケーションでDevOpsを実現できるオールインワンソリューションです。
他ツールとの複雑な統合作業を行う必要はありません。
もちろん、SlackやTeams、Mattermostなどのコミュニケーションツール、Jiraなどのタスク管理ツールと連携して使うことも可能です。

手動作業を最小限に抑えられる

GitLabでは、テスト・セキュリティ・コンプライアンスチェック・デプロイまでを自動化することが可能です。
これまでエンジニアが手動で作業していた工程を自動化することで、リリーススピードの向上はもちろん、人為的なミスも防げるため、品質を高めることにもつながります。 

カスタマイズが可能

GitLab SaaS版はGoogle Cloud PlatformでホストするSaaS環境を利用するため、基本的に自由度は高くありません。
しかし、GitLab Self-Managed版はオンプレミスでの対応が可能なので、要望に応じたカスタマイズが可能です。 

GitLab

GitLabでは、以下のような使い方が可能です。

プロジェクト管理 

プロジェクト管理

GitLabでは、エピックロードマップを基づいたプロジェクト計画が可能です。
エピック(テーマ)にはIssue(タスク)が紐づきます。

ロードマップは、Premiumプランの機能です。
Issue(タスク)の担当者や期限等を割り当てて、編集作業を実施します。

Issue(タスク)の担当者や期限等を割り当てて、編集作業を実施します。-1 
Issue(タスク)の担当者や期限等を割り当てて、編集作業を実施します。-2 

Issue(タスク)の担当者や期限等を割り当てて、編集作業を実施します。

Issue(タスク)の担当者や期限等を割り当てて、編集作業を実施します。-3 

ブランチの作成

GitLabでは、Issueに紐づくブランチを作成することで、トレーサビリティの担保が可能です。

GitLabでは、Issueに紐づくブランチを作成することで、トレーサビリティの担保が可能です。 

更新(コミット)

GitLabでは、Web IDEを使用してGitLab画面上からファイルの更新が可能です。
修正箇所を残して履歴を管理したり、差分タブから変更箇所の差分を確認することもできます。

修正箇所を残して履歴を管理したり、差分タブから変更箇所の差分を確認することもできます 

CI/CDパイプライン

GitLabでは、コミットの度にCI/CDパイプラインを自動実行します。

修正箇所を残して履歴を管理したり、差分タブから変更箇所の差分を確認することもできます 

品質分析

GitLabでは、CI/CDパイプライン内のジョブで実行した品質分析結果から脆弱性を確認できます。
Ultimateプランでは、DAST(動的アプリケーションテスト機能)、依存関係スキャンによって、より厳重なセキュリティ・コンプライアンス管理が可能です。

Ultimateプランでは、DAST(動的アプリケーションテスト機能)、コンテナスキャン、依存関係スキャンによって、より厳重なセキュリティ・コンプライアンス管理が可能です 

マージリクエスト

GitLabでは、Issueに紐づくブランチを作成することで、トレーサビリティの担保が可能です。
「差分」タブから変更箇所を確認することができ、コメントを残すことも可能です。

GitLabでは、Issueに紐づくブランチを作成することで、トレーサビリティの担保が可能です
「差分」タブから変更箇所を確認することができ、コメントを残すことも可能です

承認ボタンを押下してレビューを承認したら、「マージ」ボタンで差分取込が可能です。

承認ボタンを押下してレビューを承認したら、「マージ」ボタンで差分取込が可能です。

GitLab(ギットラボ)の料金プラン

GitLabの料金プランとしては、SaaS版とSelf-Managed版それぞれに、「Free」「Premium 」「Ultimate 」という3つのプランがあります。
Freeプランは文字通り無料で使うことができますが、有料プランのPremiumプラン、Ultimateプランではより高度な機能が使えるようになります。
現在、世界で10万を超える企業が有料プランを利用しています。

Freeプランの主な機能

Freeプラン(無料)の主な機能は、以下の通りです。

カテゴリ 機能 機能説明
ソースコード管理分野 Gitリポジトリ 変更履歴を可視化したGitリポジトリでのソースコード管理
CI/CD分野 CI/CDパイプライン機能 ビルド・テスト・リリース・デプロイ等のワークフロー全体を自動化
プロジェクト管理分野
Wikiベースのプロジェクトドキュメント ドキュメントをリポジトリではなく、コードと同じプロジェクトに保持
Issueによるテーマ、バグ、改善要望の管理 開発テーマやバグ、改善要望等をIssueとしてチーム内で共有
セキュリティ・コンプライアンス分野 静的アプリケーションテスト(SAST) ソースコードに既知の脆弱性が含まれているかを解析
コンテナスキャン コンテナイメージに既知の脆弱性が含まれているかを解析

Premiumプランの主な機能

複数のチームで利用する場合や、チームの統制管理を行う場合は、Premiumプラン(有料)がおすすめです。
Premiumプランでは、Freeプランの機能に加えて以下のような機能が利用できるようになります。

カテゴリ 機能 機能説明
ソースコード管理分野 マージリクエストのルール設定機能 高度なマージリクエスト運用を実現するために下記ルールが設定可能
(グループ/プロジェクト/ブランチ単位で承認数、承認者、グループの設定)
プルミラーリング GitLabがホストしないリモートリポジトリをGitLabに定期的に自動コピー
CI/CD分野 外部リポジトリのCI/CD GitHubやBitbucket等の他のGitサーバーと接続してCI/CD実行可能
プロジェクト管理分野 ロードマップによるスケジュール管理機能 始日、期日を含むグループ内のエピックとマイルストーンをガントチャートで視覚化
バーンアップ/バーンダウンチャート機能 マイルストーン過程でクローズされたIssueを可視化
セキュリティ・コンプライアンス分野 監査機能 GitLabのオーナおよび管理者・監査ユーザーは画面上から監査イベントの検索・CSV出力が可能

GitLabのPremiumプランでは、マージリクエストの承認ルール設定することで、高度なマージリクエスト運用が可能です。

https://aslead.nri.co.jp/products/gitlab/column/advanced-merge-request.html

また、Premiumプランでは監査機能が利用できるようになり、誰がいつどんなアクションを起こしたかなどをCSVに出力して管理するなど、セキュリティ対策がしやすくなります。

https://aslead.nri.co.jp/products/gitlab/column/audit-log-check.html

Ultimateプランの主な機能

機密情報を扱う企業や個人情報を取り扱う企業やチームでは、より充実したセキュリティ分野の機能を利用できるUltimateプラン(有料)がおすすめです。

カテゴリ 機能 機能説明
セキュリティ・コンプライアンス分野 動的アプリケーションテスト機能(DAST) 起動中のWebアプリに対してサーバ設定やセキュリティ制御等に関する脆弱性が含まれているか解析
依存関係スキャン機能 パッケージマネージャの依存関係を解析することで、脆弱性が含まれているか解析
Web API Fuzz Test WebAPIに足しいてランダムなリクエストを発行することで、見逃す可能性のあるバグや潜在的なセキュリティ問題がないか解析
ライセンスコンプライアンス 依存関係のあるライセンスを検索し、使用許可を管理
セキュリティダッシュボード機能 検出した脆弱性をダッシュボードで一覧管理

GitLabのUltimateプランは、複数の機能で開発中のアプリケーションやテスト段階のプロジェクトの脆弱性(ぜいじゃくせい)の自動検出や診断が可能です。
厳重なセキュリティ管理ができる点がUltimateプランの最大のメリットと言えます。
また、Self-Managed版は、AD/LDAPサーバとの統合機能やマルチリージョンサポートとして「セカンダリインスタンスとの同期」「災害復旧」といった機能が利用できます。

GitLabのプラン別の機能一覧はこちらを参照ください。
https://about.gitlab.com/features/

GitLabの各種工程別の機能一覧はこちらを参照ください。
https://about.gitlab.com/pricing/gitlab-com/feature-comparison/

GitLab(ギットラボ)の料金プランについてよくある疑問

株式会社野村総合研究所(NRI)は、GitLab社と販売代理店契約を締結しています。
GitLabの無料版(Freeプラン)、有料版(Premiumプラン・Ultimateプラン)ともにNRI経由でご契約いただくことで、技術サポートや設計・構築サービス、日本語によるサポートを含めたコンサルティングの支援サービスの提供もいたします。
ここからは、GitLabの料金プランについてよくある疑問にお答えします。

料金プランに日本語サポートは含まれる?

株式会社野村総合研究所(NRI)経由でGitLabをご契約いただいた場合、NRIが窓口となってNRI、他社様での活用事例などのノウハウ含めて日本語によるお問い合わせのサポートを行います。
プロフェッショナルサービスでは、お客様のご要望に合わせた業務フィッティング内容についてもサポートいたします。
標準的な技術サポートであれば、追加で料金はかかりません。

料金は年払い?月払い?

株式会社野村総合研究所(NRI)経由でGitLabをご契約いただく場合の料金は、年間料金を初期契約時に一括でお支払いいただきます。
追加ユーザー分につきましては月額料金での追加購入となり、こちらもご契約時に一括でのお支払いとなっています。
どちらも日本円での請求書払いが可能です。

SaaS版とSelf-Managed版で料金は変わる?

GitLab SaaS版とSelf-Managed版による料金の違いはありません。
どちらをご契約いただいた場合も、1ユーザーあたりの料金は同じです。

※GitLab直接購入とNRI経由での契約の違い早見表

質問 GitLab直接購入 NRI経由で購入
料金プランに日本語サポートは含まれる? 含まれない NRI技術サポート付プランに含まれる
料金は年払い?月払い? 年払い($) 年払い(円)
支払い方法は? クレジットカード 銀行振り込み
SaaS版とSelf-Managed版で料金は変わる? 変わらない 変わらない

現在利用中の料金プランを確認する方法は?

現在利用中の料金プランは、以下の手順で確認することができます。

①右上の設定ボタンをクリックし、「Edit profile」を選択 
①右上の設定ボタンをクリックし、「Edit profile」を選択
②左側にあるサイドメニューから「Billing」を選択
②左側にあるサイドメニューから「Billing」を選択
③現在利用中の料金プランが表示されます。
③現在利用中の料金プランが表示されます。

無料版から有料版へのアップグレード方法は?

ご契約手続き完了後それぞれ下記の手順でアップグレード可能です。
Self-Managed版の場合、GitLab社から届いたライセンスを環境に下記手順で適用いただく必要がございます。

  • 管理(Admin)エリアの「ライセンス」画面にアクセス
  • 「Upload New License」を押下しライセンスファイルの登録

SaaS版の場合は、弊社サポート担当からGitLabのサポート窓口にライセンス適用の依頼をいたします。
対象のGitLabのグループ情報(グループ名/グループURL/Owner権限を所持するユーザのメールアドレス)を連携ください。

GitLab(ギットラボ)の導入に関するお問い合わせ

GitLabは、株式会社野村総合研究所(NRI)経由でご契約をいただきますと、よりお求めやすくなるだけではなくNRI独自の付加価値をつけてご提供いたします。
また、GitLab合同会社とのパートナーシップのもと、無料トライアルも受け付けておりま

https://aslead.nri.co.jp/products/gitlab/

GitLabの導入に関するご相談は、こちらよりお気軽にお問合せください。

Gitlabの詳細に関しては、代理店ページをご覧ください

Gitlab代理店ページはこちら

お問い合わせ

GitLab に関するご相談は、下記よりお気軽にお問い合わせください。

簡易フォームでお問い合わせ   チャットBotでお問い合わせ ※個人情報は、お問い合わせ対応に利用致します。
お問い合わせ