このページのコンテンツ
要約
Codefresh is a CI/CD tool designed for containers and Kubernetes. Codefresh features a GitLab integration that allows you to use GitLab for version control and run Codefresh pipelines on your code. Codefresh has some features that make it more mature than GitLab for running pipelines across multiple projects. But it lacks the benefits of a single application.
Codefresh charges for builds per month, as well as concurrent builds. GitLab has no such limitations with the ability to elastically scale Runners to handle as many concurrent builds as needed on demand and then scale down so you aren't paying to keep inactive Runners up.
Codefresh only offers a self-managed option for Enterprise pricing. Free, Basic, and Pro tiers are for SaaS-only. GitLab offers self-managed and SaaS options at every price point.
リソース
コメント/逸話
- Codefresh makes some claims in their blog comparing themselves to GitLab that are not really accurate.
- "GitlabCI isn’t designed for micro-services since everything is tied to a single project"
- Although we can improve our microservices support, (and plan to) this claim is not true.
- Today, GitLab has multi project pipelines and can trigger pipelines for mulit-projects via API. In fact, The CI working group for CNCF chose GitLab to run their multi-project multi-cloud pipelines. Read more in the CNCF case study.
- "GitlabCI isn’t designed for micro-services since everything is tied to a single project"
- We are missing some features identified in this post that would bring us on par with Codefresh
- The ability to define multiple pipelines
- Support for monorepos with the ability to run pipelines only on specific directories - UPDATE: Shipped in Gitlab 11.4
- Group level Docker registry browser
- Group level Kubernetes clusters - UPDATE: Shipped in GitLab 11.6
- Make container building first class
- Integrated Helm repository
Additional CodeFresh Capabilities
Global Helm repo configuration
Zero configuration caching/artifacts using docker volumes
Distributed Docker layer caching
Custom docker image annotations
比較
機能 | | |
---|---|---|
統合されたコンテナレジストリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab Container Registryは、Dockerイメージのためのセキュアでプライベートなレジストリです。 GitLab CIからイメージを簡単にアップロードしたりダウンロードしたりすることができます。 Gitリポジトリ管理と完全にインテグレーションされています。 (Codefresh社は2020年5月1日をもってプライベートなDockerレジストリのサポートを終了する予定です。) | | |
レビューアプリで変更をプレビュー CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab CI/CDを利用して、ブランチごとに新しい環境を作成することができ、開発プロセスを高速化できます。自分のブランチをプレビューできるマージリクエスト用の動的な環境を起動できます。レビューアプリは静的・動的なURLの両方をサポートします。 | | |
包括的なAPI CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabは、インテグレーションの開発を可能にするために、多くの機能をAPIとして提供しています。 | | |
CI/CD 水平自動スケール CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab CI/CDのクラウドネイティブなアーキテクチャでは、ワークロードが増加した場合に、新しいノードを追加することで簡単に水平方向にスケールできます。GitLab Runnerはパイプライン処理が開始されると、自動的に新しいコンテナを作成し、処理が完了して不要になったコンテナを削除します。これにより、CI/CDのコストを抑えることができます。. | | |
CI/CD パイプラインダッシュボード CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
プロジェクトやグループ全体のパイプラインの履歴と現在のステータスをユーザーごとにカスタマイズできる単一のダッシュボードで視覚化します。 | | |
グループレベルのDockerレジストリブラウザ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
複数のリポジトリのイメージを単一の UI ビューで表示します。 | | |
Helm チャートリポジトリをサポート CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Helm Chartの保存と取得をサポートします | | |
柔軟なパイプライングラフ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
複数のジョブを直列、または並列に実行するパイプラインの構造は非常に複雑です。 GitLabでは単一のパイプライングラフですべてのジョブのステータスを表示できるので、 何が起こっているのかを簡単に確認できます。 | | |
パイプラインをスケジュール実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
cronのように、パイプラインをスケジュール実行できます。 | | |
CI/CDジョブをWindowsで実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはWindowsをサポートしているので、ジョブをこのプラットフォームでネイティブに実行できます。 PowerShellやバッチファイルを活用することで、Windowsに基づくプロジェクトを自動で構築、テスト、デプロイすることが可能です。 | | |
macOSでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはmacOSをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、macOSベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
Linux ARMでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはARMアーキテクチャのLinuxをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、Linux ARMベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
FreeBSDでCI/CDのジョブを実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab RunnerはFreeBSDをサポートしているので、このプラットフォーム上でネイティブにジョブを実行できます。 シェルスクリプトやコマンドラインツールを利用して、FreeBSDベースのプロジェクトのビルド、テスト、デプロイを自動化できます。 | | |
パイプラインのコードカバレッジを表示 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabでは、カスタマイズ可能な正規表現を使用してジョブの出力をパースして、SimpleCovのようなツールが生成するコードカバレッジを取得できます。 取得したデータはUIに自動的に表示され、HTMLページなどに埋め込むためのバッジとして使用することもできます。 | | |
GitLab CI/CDでの各コマンドの実行時間の詳細 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
他のCIシステムの中には、ジョブ全体の実行時間に加えて、各コマンドの実行時間を表示できるものがあります。 GitLabにも同様の機能を実装するための検討が行われています。 | | |
Auto DevOps CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Auto DevOps機能を使用すると、ソフトウェア開発ライフサイクルの自動設定が適用されます。 これにより、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クラスター用アプリケーションを簡単にデプロイ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Helm Tiller、Nginx Ingress、Cert-Manager、Prometheus、GitLab Runner、JupyterHub、KnativeをGitLabのWeb UIから1クリックでクラスターにインストールできます。 | | |
失敗したCIのジョブを自動で再実行 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
.gitla-ci.ymlに特別なキーワードを記述することで、GitLab CIでジョブが失敗した場合に、 指定の回数だけジョブを自動で再実行できます。 | | |
パイプラインのセキュリティ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
保護ブランチで実行されるCI/CDパイプラインに対して、定義したセキュリティルールが守られているかチェックできます。 パイプラインのセキュリティは、手動で作成したパイプライン、再実行したジョブ、手動アクションにも適用されます。 | | |
外部のCI定義ファイルをインクルード CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
複数のプロジェクトで共通なジョブのテンプレートとして再利用するために、 外部のCI定義ファイルをインクルードできます。 | | |
静的アプリケーションセキュリティテスト CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab では、CI/CD パイプラインで静的アプリケーションセキュリティテスト (SAST) を簡単に実行することができます。 アプリケーションに含まれるライブラリの中に脆弱なソースコードや よく知られたセキュリティバグがないかどうかをチェックします。 結果はマージリクエストとパイプラインビューに表示されます。 この機能は Auto DevOps の一部として利用可能で、デフォルトでのセキュリティを提供しています。 | | supports 18 languages |
機密情報の検出 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab では、CI/CD パイプラインで機密情報の検出を行い、意図せずにコミットされた機密情報をチェックします。 結果はマージリクエストやパイプラインビューに表示されます。 この機能は Auto DevOps の一部として提供されています。 | | |
依存関係の脆弱性スキャン CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabはアプリケーションが使用するライブラリに存在する既知のセキュリティバグを自動的に検出し、アプリケーションを脆弱性から保護します。 依存性スキャンの結果はマージリクエストおよびパイプラインの画面に表示されます。 この機能はAuto DevOpsの一部として利用できます。 | | |
コンテナの脆弱性スキャン CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
アプリケーションのDockerイメージをビルドする際に、コードをデプロイする環境に既知の脆弱性が存在しないかGitLabで確認できます。 コンテナスキャンの結果はマージリクエストとパイプラインに表示されます。 この機能はAuto DevOpsの一部として利用できます。 | | |
動的アプリケーションセキュリティテスト CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
オンラインのアプリケーションに対して、GitLabのCI/CDパイプラインで動的アプリケーションセキュリティテスト(DAST)を実行できます。 これにより、アプリケーションにXSSや認証フローの不備のような脆弱性が存在しないかをテストできます。 テスト結果はマージリクエストとパイプラインに表示されます。 この機能はAuto DevOpsの一部として利用できます。 | | |
双方向なアプリケーションセキュリティテスト CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
IAST は静的 / 動的アプリケーションセキュリティテスト方法の要素を組み合わせて、結果の全体的な品質を改善します。通常 IAST はライブラリの呼び出しなどを監視するために、エージェントを使用してアプリケーションを計測します。GitLab はまだこの機能を提供していません。 | | |
ブラウザーパフォーマンステスト CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
マスターにマージする前に、Web アプリケーションのパフォーマンスの低下を簡単に検出します。ブラウザのパフォーマンステストは Auto DevOps に含まれており、設定なしでルートページの自動的なパフォーマンス分析を提供します。 | | |
Load Performance Testing CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Easily detect performance regressions for software under load, prior to merging into master. | | |
レビューアプリのアクセシビリティテストを自動化 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
アクセシビリティテストを実施することは、製品を利用するすべてのユーザーにサービスを提供するために重要です。 GitLab では、masterにマージする前にアクセシビリティレポートを自動的に生成することができます。 | | |
仮想パッケージリポジトリを活用して、パッケージ管理ワークフローを簡素化します。 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
仮想リポジトリとは、単一の論理 URL を通じてアクセスされるローカル、リモート、その他の仮想リポジトリの集合体です。 | | |
より安全で信頼性の高いビルドのためのリモートパッケージレジストリをプロキシします。 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
多くの組織では、頻繁に利用しているアップストリームのイメージ/パッケージ用のキャッシュプロキシを使うのが便利です。CI/CD の場合は、プロキシはリクエストを受信し、レジストリからアップストリームのイメージを渡す責任があり、パイプラインを高速化するためのプルスルーキャッシュとして機能します。 | | |
Conan (C/C++) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Conan は、開発者がネイティブバイナリを作成, 共有するためのオープンソースの分散型 C/C++ マルチプラットフォームパッケージです。 | | |
Maven (Java) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab の Maven リポジトリにより、組織全体での Java ライブラリの公開と共有が簡単になり、依存関係が正しく管理されるようになります。認証と承認を含め、GitLab と完全に統合されています。 | | |
NPM レジストリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab の NPM リポジトリにより、組織全体で NPM パッケージを公開および共有しやすくなり、依存関係が正しく管理されるようになります。認証と承認を含め、GitLab と完全に統合されています。 | | |
NuGet (.NET) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLabのNuGetリポジトリは、C#/.NETの開発者がNuGetクライアントやVisual Studioを使ってパッケージを作成、公開、共有することを可能にします。 | | |
PyPI (Python) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
Python開発者はGitLabをリモートPyPIリポジトリとして設定し、PyPIクライアントやGitLab CI/CDを使ってパッケージをビルド、公開、共有することができます。 | | |
RPM (Linux) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この計画中の機能により、Linux開発者は、ソースコードやパイプラインと一緒にRPMパッケージを構築、公開、共有することができます。 | | |
Debian (Linux) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この計画中の機能により、Linux 開発者はソースコードやパイプラインと一緒に Debian パッケージを構築、公開、共有できるようになります。 | | |
RubyGems (Ruby) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この計画中の機能は、Ruby開発者がGitLabをリモートのRubyGemsリポジトリとして設定し、コマンドラインやGitLab CI/CDを使ってパッケージをビルド、公開、共有できるようにするものです。 また、GitLab自体の開発にとっても貴重な機能であり、dogfoodingにも役立ちます。 | | |
Go リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この計画中の機能により、Go開発者はソースコードやパイプラインと一緒にパッケージを構築、公開、共有できるようになります。 これはGitLab自体の開発にとっても貴重な機能であり、dogfoodingにも役立ちます。 | | |
Composer (PHP) リポジトリ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
この計画中の機能により、PHP 開発者はソースコードやパイプラインと一緒にパッケージを構築、公開、共有することができるようになります。 | | |
REST APIでパッケージレジストリを使用する CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
REST API を使用して GitLab パッケージレジストリの自動化とインテグレーションをサポートします。 | | |
リポジトリ毎の複数のパイプラインを定義 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab では複数プロジェクトにまたがるビューを提供する複数プロジェクトのパイプラインがありますが、各パイプライン定義は特定のプロジェクトに関連付けられた YAML ファイルとして存在します。GitLab には今のところ 1 つの YAML ファイルに複数のパイプラインを定義する機能はありません。 | | |
monorepo の明示的なサポート CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
特定のパスやファイルに変更がある場合にのみジョブを実行する機能は、単一のレポに多くのマイクロサービスを含むモノレポをサポートします。 | | |
Docker レジストリのグローバルブラウザ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
複数のリポジトリのイメージを単一の UI ビューで表示します。 | | |
グループレベルのKubernetesクラスター設定 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
グループのためのKubernetesクラスター設定を単一のUIで表示します。 | | |
インスタンスレベルのKubernetesクラスター設定 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
GitLab インスタンスの Kubernetes クラスター設定を単一の UI で表示します。 | | |
ファーストクラスのコンテナ作成 CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
実装の詳細を定義する必要なく、CI/CD のジョブ中にコンテナを構築するように定義できる機能です。 | | |
グループレベルの Kubernetes クラスター CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
グループやサブグループ内の全てのプロジェクトに使用できるグループレベルの Kubernetes クラスターを作成します。 | | |
インスタンスレベルの Kubernetes クラスタ CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD
同一の GitLab インスタンス内の全てのグループやプロジェクトで使用できるインスタンスレベルの Kubernetes クラスタを作成します。 | | |
* このページの情報は最新ではありません。最新の情報は 公式サイト をご確認ください。