HarnessとGitLabの比較

このページのコンテンツ

要約

Harness.io is a Continuous Integration product that is available both as SaaS and on-premises deployment (Connected On-Premises & Disconnected On-Premises). The basic value prop for Harness is that it abstracts away some of the complexity involved in deploying both traditional applications and in microservices based applications. Harness' stregth is more in the newer microservices based architectures. Harness provides a good user interface to perform most Continuous Integration tasks and also connects with various SCM and CI tools.

Strengths

  • Strong continuous integration product with features normally found in all CI products.
  • Easy to use UI, Visual display of pipeines and pipeline progress.
  • Ability to customize and templatize pipelines and pipeline steps
  • Continuous Verification capability integrates with several monitoring tools and applies machine learning to detect anamolies and automate rollback of deployment.

不足部分

  • No SCM or CI capability - context switching from SourceCode to CI to CD tools to take a pipeline from code to production. Product assumes the artifacts are built, just need to be deployed.
  • Several out of the box integrations, but feedback from those systems is via a console type interface, making it harder to monitor tasks and to track down root cause of problems during deployment.
  • No built in security - must rely on third party products. This lengthens time to secure, test and deploy.
  • Issue management with pipelines requires third party product. This could result in loss of context and delays in addressing problems.

比較

機能

共有Runner、または個別RunnerでのCI/CDが無料

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab.comが提供する共有Runnerを使用して、プライベートプロジェクトでは毎月2000分までのCI/CDを、パブリックプロジェクトでは時間無制限のCI/CDを無料で利用できます。さらに、より高速なビルド、時間無制限のビルド、特殊な要件などに対応するために個別Runnerをセットアップして使用することもできます。

GitLab.comのプランを表示

統合されたCI/CD

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

CI/CDの詳細

CI/CD 水平自動スケール

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

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

CI/CD パイプラインダッシュボード

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では単一のパイプライングラフですべてのジョブのステータスを表示できるので、 何が起こっているのかを簡単に確認できます。

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

成果物をブラウズ可能

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

デプロイメントプロジェクトには、ビルドおよびテストされたリリースやリリースがデプロイされた環境など、デプロイしているソフトウェアプロジェクトが含まれます。

GitLabのプロジェクトの詳細

グループレベル変数

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をインストール

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

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

この課題の詳細を確認

保護Runner

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

この課題の詳細を確認

デプロイボード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Premium には Deploy ボードが付属しており、Kubernetes 上で実行している各 CI/CD 環境の現在の健全性とステータスを統合的に表示します。Kubernetesにアクセスすることなく、 最新デプロイのそれぞれのpodの稼働状況をGitLab内でシームレスに表示できます。

デプロイボードの詳細

定期的かつ手動でのインクリメンタルなロールアウトデプロイメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab を使うと、数個のわずかな Pod から開始して Kubernetes上に新しいバージョンのアプリケーションをデプロイし、全てが正常に機能している場合は割合を増やすことができます。これは、スケジュールに従って続行するか、入力のために一時停止して続行するように構成できます。

インクリメンタルなロールアウトデプロイメントの設定の詳細

カナリアデプロイメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

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

最小限のCI/CDの設定

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

GitLab CI/CDの詳細

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

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

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

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

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

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

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

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

ドキュメント

外部リポジトリ用のCI/CD

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabに、GitHubやBitbucketなどの外部サービスがホストしているあなたのプロジェクトを接続し、 GitLab CI/CDのパイプライン機能を活用し、アプリケーションを簡単に構築、テスト、開発しましょう。

外部リポジトリ用のCI/CDの詳細

GitHub用のCI/CD

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabにGitHubがホストするあなたのプロジェクトを接続し、GitLab CI/CDのパイプライン機能を活用し、 アプリケーションを簡単に構築、テスト、開発しましょう。

GitHub 用の CI/CD の詳細

インタラクティブな Web ターミナル

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

インタラクティブな Web ターミナルを使用すると、実行中または完了済みの Kubernetes、Docker、Shell ランナージョブに接続し、コマンドを手動で実行して、システムで何が起こっているかをよりよく理解できます。

インタラクティブ Web ターミナルの詳細

リポジトリ毎の複数のパイプラインを定義

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab では複数プロジェクトにまたがるビューを提供する複数プロジェクトのパイプラインがありますが、各パイプライン定義は特定のプロジェクトに関連付けられた YAML ファイルとして存在します。GitLab には今のところ 1 つの YAML ファイルに複数のパイプラインを定義する機能はありません。

この課題の詳細を確認

monorepo の明示的なサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

特定のパスやファイルに変更がある場合にのみジョブを実行する機能は、単一のレポに多くのマイクロサービスを含むモノレポをサポートします。

CI/CD のみ/以外の実行の詳細

マージリクエストパイプライン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストに関連付けられたパイプライン内にある場合にのみジョブを実行するように指定できます。 これにより、必要なジョブのみを実行することができ、パイプラインをより効率的にできます。

マージリクエストパイプラインの詳細

マージ結果パイプライン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

masterをGreenに保つことは、開発の効率化に重要です。 masterにマージする前にマージされたコードの結果に対してパイプラインを実行することで、ブランチ上では成功していても、マージ後のmaster上で失敗するような変更を検出できます。

結果パイプラインの詳細

マージトレイン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

パイプラインを並列にキューイングすることで、ターゲットブランチへのパイプライン内の変更を整然と効率的に実行できます。 マージトレインと一緒に、スカッシュしてマージを使用することもできます。

マージトレインの詳細

コードリポジトリ内の任意のイベントでパイプラインを起動する

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コードリポジトリで定義されたイベントが実行された時に、パイプラインやワークフローを起動できるようにします。 例えば、リポジトリやプロジェクトに新しいメンバーが追加された時に、ウェルカムメールを送信するワークフローを実行することができます。

GitLab で利用可能なイベントに関するドキュメント

Multiple trigger types
Supports 21 event triggers

コミュニティによるワークフロー (設定はコード化されているので共有可能)

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabのパイプライン(ワークフロー)はリポジトリ内でymlとして定義されており、アクションと同じように共有することができます。

あらゆるプラットフォーム、言語、クラウドに対応

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

あらゆるOSプラットフォーム、言語、クラウドプロバイダーで実行可能です。

設定、インフラの構築、パッチの適用は不要

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

SaaS型として提供されているので、ツールの設定、インフラの構築、メンテナンスを行うことなく、ソフトウェア開発やデリバリーのために利用できます。

プログラミング言語に基づいて実行するパイプラインを自動的に提案

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

プログラミング言語を検出し、実行するパイプラインのテンプレートを自動で提案し、ユーザーが迅速にパイプラインを実行できるようにします。

Auto Devops runs a pipeline, not just suggest one

多くの定義済みパイプラインが付属

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ベストプラクティスを集めた、多くの定義済みパイプラインを提供されているので、一般的なプログラミング言語、プラットフォームの各プロジェクトで簡単に利用を開始できます。

SDLCで使用される様々なツールとサービスを接続

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

さまざまなツールやサービスからのデータや出力を接続する、中心のハブとして使用することができます。

マトリックスビルド

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ビルドを定義して実行する機能が組み込まれており、多数の入力変数に基づいて複数の並列ジョブやパイプラインを自動的に起動することができます。 例えば、3つのOS用と3つの異なるバージョン用のライブラリのビルドは、自動的に9つの並列ジョブで実行されます。 GitLabでは、マトリックスビルドを動的な子パイプラインを使って実装できます。

親子パイプラインの詳細

Linuxの共有Runnerを利用

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

SaaSで提供される、Linuxの共有Runnerでジョブを実行できます。

Windowsの共有Runnerを利用

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

SaaSで提供される、Windowsの共有Runnerでジョブを実行できます。

ベータテスト中

macOSの共有Runnerを利用

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

SaaSで提供される、macOSの共有Runnerでジョブを実行できます。

プル/マージリクエストでパイプラインのステータスを表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

パイプライン実行のステータスと結果をマージ/プルリクエストで表示することができます。

実行中のパイプラインのログのライブ表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

(パイプライン実行中に)ジョブのログをライブ表示できます。

すべてのジョブのログを横断的に検索

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

すべてまたは複数のジョブのログを一度に検索できます。 トラブルシューティングやジョブの出力のレビュー中に、エラーやその他のコンテンツをより効率的に検索できます。

browser search within the log at a time

生のログを平文で表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ログの平文を取得して、マークアップせずに表示したり、外部で使用したりできます。

リポジトリごとに複数のパイプライン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コードリポジトリごとに複数のパイプラインを定義して、異なるプロセスを異なる時間に実行できるようにしたり、1つのリポジトリ内に複数のアプリケーションがある場合に、アプリケーションごとに異なるビルドと処理を行うことを可能にします。

別のリポジトリでアクション/ジョブを参照する

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

パイプライン/ワークフローを参照し、実行されているリポジトリとは別のリポジトリのアクション/ジョブを使用できるようにします。

* このページの情報は最新ではありません。最新の情報は 公式サイト をご確認ください。

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

GitLabはオープンコア

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

ソースコードにアクセス

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

コミュニティからの貢献

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

長期利用に最適

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

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

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

Gitlab x icon svg