GitLabと他のツールとの比較

vs.

Jenkins vs GitLab

概要

Jenkinsは世界中でもっとも人気のあるビルドの自動化、およびCI/CDツールの一つです。数百ものプラグインの機能を統合することで柔軟性を高め、あらゆるプロジェクトのビルド、デプロイ、自動化をサポートします。

リソース


機能

統合されたCI/CD

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabにはCI/CD機能が統合されているので、CI/CDのために他のツールをインストールする必要はありません。GitLabのCI/CDを使用して、ウェブサイト(GitLab Pages)やウェブアプリケーションをビルド・テスト・デプロイできます。ジョブの結果はマージリクエストに表示され、簡単にアクセスできます。

CI/CDの詳細

アプリケーションのパフォーマンス監視

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Prometheusを利用して、GitLabはデプロイしたアプリケーションのパフォーマンスメトリクスを収集し表示できます。開発者はマージが本番環境に与える影響を、GitLabから離れることなく、簡単に確認できます。

デプロイしたアプリケーションの監視の詳細

アプリケーションのパフォーマンスに関するアラート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab を使うと、エンジニアはソースコードを書くのと同じワークフローで、サービスレベルインジケータアラートをシームレスに作成し、必要なイベントを通知できます。

SLI アラートの作成についてさらに学んでください。

GitLabサーバーの監視

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

オンプレミスで運用しているGitLabサーバーをPrometheusで監視できます。これにより、自身のGitLabサーバーの稼働状況を簡単に確認できます。

GitLabサーバーの監視の詳細

サイクル分析

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは計画からモニタリングまでに要した時間を計測するためのダッシュボードを提供します。GitLabには、アイディアを本番環境にデプロイするまでに必要なツールのすべてが組み込まれているので、このようなデータの提供が可能です。

サイクル分析の詳細

Review Appsで変更をプレビュー

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CI/CDを利用して、ブランチごとに新しい環境を作成することができ、開発プロセスを高速化できます。 自分のブランチをプレビューできるマージリクエスト用の動的な環境を起動できます。

Review Appsの詳細

包括的なAPI

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは、インテグレーションの開発を可能にするために、多くの機能をAPIとして提供しています。

APIのドキュメントを表示

GitLab CI/CDの水平オートスケーリング

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CI/CDのクラウドネイティブなアーキテクチャでは、ワークロードが増加した場合に、新しいノードを追加することで簡単に水平方向にスケールできます。GitLab Runnerはパイプライン処理が開始されると、自動的に新しいコンテナを作成し、処理が完了して不要になったコンテナを削除します。これにより、CI/CDのコストを抑えることができます。.

GitLab CI/CDの水平オートスケーリングの詳細

コンテナやDockerとの高い親和性

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは、GitLab独自のコンテナレジストリとDocker CI Runnerを搭載しているため、それだけでCI/CDでのコンテナワークフローを完結できます。つまり追加のプラグインをインストール、設定、管理する必要はありません。

クラウドネイティブ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabとGitLab CI/CDはクラウドネイティブな設計で開発されています。GitLab は Kubernetes 上に簡単にデプロイできます。また、Gitlab を使用してアプリケーションをそのまま Kubernetes に対しデプロイできます。

Kubernetes 連携

統合されたウェブターミナルでコンテナをデバッグ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabにビルトインされたウェブターミナルを使用すると、あらゆる環境のコンテナを簡単にデバッグできます。アプリケーションをKubernetesにデプロイしている場合は、GitLabの環境メニューから直接ターミナルのセッションを開始することができます。この強力な機能により、ブラウザから離れることなく、問題の調査を素早く行うことができます。

ウェブターミナルの詳細

柔軟なパイプライングラフ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

複数のジョブを直列、または並列に実行するパイプラインの構造は非常に複雑です。 GitLabでは単一のパイプライングラフですべてのジョブのステータスを表示できるので、 何が起こっているのかを簡単に確認できます。

パイプライングラフの詳細

成果物をブラウズ可能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CIを使用すると、外部サービスを必要としないで、GitLab内にジョブの成果物をアップロードできます。 これによって、アップロードした成果物をGitLabのウェブインターフェースで表示できます。

プロジェクト内のジョブアーティファクトの利用の詳細

パイプラインをスケジュール実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

cronのように、パイプラインをスケジュール実行できます。

GitLabでパイプラインがスケジュール実行される仕組の詳細

コード品質

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストのウィジェットエリアに表示されるコード品質レポートにより、 変更がコードの品質に与える影響を事前に知ることができます。

コード品質レポートの詳細

複数プロジェクトのパイプライングラフ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マイクロサービスアーキテクチャでは、パイプラインの設計はより複雑なものになります。 複数プロジェクトのパイプライングラフを使用すると、アップストリームとダウンストリームのパイプラインが、プロジェクトのトリガーを通して、どのように協調しているのかを表示することができます。

複数プロジェクトのパイプライングラフの詳細

保護変数

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

権限のあるユーザーだけが変数の値を取得できるように、変数を保護することができます。 「保護変数」は「保護ブランチ」で実行されているジョブからだけ取得できます。

保護変数の利用方法の詳細

環境とデプロイメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CIを使用すると、ビルドやテストだけではなく、インフラへのデプロイもできます。 また、CIのジョブのタグに似ている、環境を利用するとデプロイ履歴をトラッキングできます。

環境の詳細

環境履歴

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

環境履歴を使用するとサーバーに現在、何がデプロイされているのかを確認できます。また、環境の詳細画面では過去のすべてのデプロイ情報を表示できます。 この画面から現在のバージョンを再デプロイしたり、何か問題が発生した場合は、過去の安定バージョンにロールバックすることができます。

環境履歴の詳細

特定環境用の変数

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

どの環境から変数の値を取得できるのか制限することができます。

特定環境用変数の設定方法の詳細

グループレベル変数

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

グループレベルで変数を定義し、グループ内のすべてのプロジェクトから使用することができます。

変数の設定方法の詳細

CI/CDの設定ファイルのパスを変更可能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

プロジェクトのトップディレクトリにCI/CDの設定ファイルを置きたくない場合などに、設定ファイルのパスを独自に定義できます。

カスタムCI/CD設定ファイルの設定方法の詳細

CI/CDジョブをWindowsで実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab RunnerはWindowsをサポートしているので、ジョブをこのプラットフォームでネイティブに実行できます。 PowerShellやバッチファイルを活用することで、Windowsに基づくプロジェクトを自動で構築、テスト、デプロイすることが可能です。

WindowsにGitLab Runnerをインストール

macOSでCI/CDのジョブを実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab RunnerはmacOSをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、macOSベースのプロジェクトのビルド、テスト、デプロイを自動化できます。

macOSにGitLab Runnerをインストール

Linux ARMでCI/CDのジョブを実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab RunnerはARMアーキテクチャのLinuxをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、Linux ARMベースのプロジェクトのビルド、テスト、デプロイを自動化できます。

LinuxにGitLab Runnerをインストール

FreeBSDでCI/CDのジョブを実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab RunnerはFreeBSDをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、FreeBSDベースのプロジェクトのビルド、テスト、デプロイを自動化できます。

FreeBSDにGitLab Runnerをインストール

パイプラインのコードカバレッジを表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabでは、カスタマイズ可能な正規表現を使用してジョブの出力をパースして、SimpleCovのようなツールが生成するコードカバレッジを取得できます。 取得したデータはUIに自動的に表示され、HTMLページなどに埋め込むためのバッジとして使用することもできます。

GitLabでコードカバレッジの生成と表示の詳細

CIのジョブで生成されたJUnitレポートの管理

多くの言語に、自動テストの実行と結果のレポートを生成するためのテスティングフレームワークがあります: 例えば、様々なツールがJUnit形式のレポートの出力をサポートしています。 GitLabでは成果物をブラウズし、レポートをダウンロードすることはできますが、レポートをブラウザ上で適切に表示する方法については現在も検討が行なわれています。

この課題の詳細を確認

GitLab CI/CDでの各コマンドの実行時間の詳細

他のCIシステムの中には、ジョブ全体の実行時間に加えて、各コマンドの実行時間を表示できるものがあります。 GitLabにも同様の機能を実装するための検討が行われています。

この課題の詳細を確認

Auto DevOps

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Auto DevOps機能を使用すると、ソフトウェア開発ライフサイクルの自動設定が適用されます。 これにより、DevOpsのベストプラクティスに従って、プロジェクトを推進することができます。

Auto DevOpsの詳細なドキュメントを確認

保護Runner

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

保護Runnerを使用すると、デプロイ用の秘密鍵のような、機密情報を保護することができます。 保護ブランチで実行されるジョブのみが、保護Runnerにアクセスできます。

この課題の詳細を確認

構築済みのKubernetesクラスタと容易に連携

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

構築済みのKubernetesクラスターをプロジェクトに追加できます。CI/CDパイプラインから、 追加したKubernetesクラスターへ簡単にアクセスでき、Review Appsをホストしたり、アプリケーションをデプロイしたりすることができます。

この課題の詳細を確認

GKE上にKubernetesクラスターを簡単に構築

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Googleアカウントに接続して、いくつかの情報を入力するだけで、 プロジェクトから直接GKE上にKubernetesクラスターを構築できます。構築したクラスターは、Auto DevOpsでアプリケーションをデプロイのに使用することができます。

この課題の詳細を確認

複数のKubernetesクラスターをサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ステージングや本番環境のような異なる環境を異なるKubernetesクラスターに簡単にデプロイできます。 これにより、ステージングと本番環境のデータを完全に分離することができます。

この課題の詳細を確認

KubernetesにHelm、Ingress、Prometheusを簡単にデプロイメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Helm Tiller、Nginx Ingress、Prometheus、GitLab RunnerをGitLabのWeb UIから1クリックでクラスターにインストールできます。

GKEクラスターにアプリケーションをインストールのドキュメントを確認

カナリアデプロイメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Enterprise Edition Premiumでは、Kubernetesにアプリケーションをデプロイしている場合は、 カナリアデプロイメントを監視できます。

カナリアデプロイメントの設定の詳細

最小限のCI/CDの設定

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab CI/CDは、Jenkinsのようなツールで同様のパイプラインを実行する場合と比べて、より少ない設定で済みます。

GitLab CI/CDの詳細

失敗したCIのジョブを自動で再実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

.gitla-ci.ymlに特別なキーワードを記述することで、GitLab CIでジョブが失敗した場合に、 指定の回数だけジョブを自動で再実行できます。

失敗したCIのジョブを自動で再実行の詳細

パイプラインのセキュリティ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

保護ブランチで実行されるCI/CDパイプラインに対して、定義したセキュリティルールが守られているかチェックできます。 パイプラインのセキュリティは、手動で作成したパイプライン、再実行したジョブ、手動アクションにも適用されます。

パイプラインのセキュリティの詳細

外部のCI定義ファイルをインクルード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

複数のプロジェクトで共通なジョブのテンプレートとして再利用するために、 外部のCI定義ファイルをインクルードできます。

外部ファイルのインクルードの詳細

CI/CDのログを折りたたんで表示

ジョブの各コマンドの出力ログを折りたたんで表示できます。

この課題の詳細を確認

Kubernetes podログの表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Kubernetesにデプロイしたアプリのpodログを素早く簡単に表示できます。

Kubernetes podログの表示の詳細

Download as PDF

この文章の大部分が、GitLabのファンによって書かれています。 そのため、GitLabに対するバイアスがかかっている可能性があります。 しかし、できる限り公正で事実に基づいた比較を行いたいと考えています。 GitLabにはない、他の製品の優れた機能があれば、ぜひ追加をしてください。 もしも、比較表に間違いやバイアスや漏れや古くなった内容を見つけた場合は、 このウェブサイトを修正するマージリクエストを投稿してください。 このウェブサイトのすべてのページは、フッターにあるリンクをたどって、 修正のマージリクエストを投稿することができます。

GitLabはGitLab, Inc.の商標です。その他のすべての商標・ロゴマークの権利はそれぞれの所有者に帰属します。

GitLabはオープンコア

GitLabの競合製品のほとんどはソースコードを公開していませんが、GitLabはオープンコア製品です。 GitLabコミュニティエディションは完全なオープンソースで、 GitLabエンタープライズエディションはオープンコア(プロプライエタリ)です。

ソースコードにアクセス

クローズドソースなソフトウェアと異なり、 コミュニティエディションエンタープライズエディションの ソースコードを確認したり、修正することができます。 機能の追加やカスタマイズのために、サーバーのソースコードを修正したり、GitLabのリポジトリをフォークすることができます。 独自に実施した変更はメインのソースコードにフィードバックし、マージされるように挑戦することを推奨します。 それにより、他のユーザーの役に立つ上に、自身のインスタンスのアップデート作業を簡単に保つことができます。

コミュニティからの貢献

GitLabには毎月数百人からの貢献があります。 顧客・ユーザー・GitLab社員のすべてが毎月のリリースに貢献しています。 このことは、簡単に使用できる便利なユーザー管理のような、 組織にとって本当に必要な機能の開発に役立っています。

長期利用に最適

GitLabは、数十万の組織が利用し、頻繁にソフトウェアへ貢献しています。 GitLabには堅牢なコミュニティが存在します。 つまり、GitLabは単一企業のサポートに依存していないので、 長期利用に適しています。

毎月、新しい安定版がリリース

毎月、機能の改善と新機能の追加と不具合の修正のすべてが適用された、 GitLabの新しい安定版がリリースされます。 これにより、GitLabはとても迅速に顧客の要望に応えることができます。

日本語でのサポートが必要な場合は 国内正規販売代理店 へお問い合せください。

無料で30日間、 GitLab Ultimate を試用できます。