Sonatype Nexus Repository vs GitLab

GitLab compared to other DevOps tools

Sonatype Nexus リポジトリ (OSS と Pro の両方で利用可能) は、Sonatype Nexus スイートの一部です。その他の製品は Nexus Lifecycle, Nexus Auditor, Nexus Firewall, Nexus Platform, Nexus Intelligence Service です。Sonatype と GitLab はどちらもバイナリアーティファクトリポジトリとコンテナレジストリを提供しますが、現在、Sonatype はより多くのパッケージタイプをサポートしています。

FEATURES

統合されたコンテナレジストリ

GitLab Container Registryは、Dockerイメージのためのセキュアでプライベートなレジストリです。 GitLab CIからイメージを簡単にアップロードしたりダウンロードしたりすることができます。 Gitリポジトリ管理と完全にインテグレーションされています。 (Codefresh社は2020年5月1日をもってプライベートなDockerレジストリのサポートを終了する予定です。)

コンテナレジストリのドキュメント

Docker イメージのサポート

Dockerスタイルのコンテナの保存と取得をサポートします。

GitLab コンテナレジストリの詳細

コンテナレジストリ Webhook

他のサービスと Docker Hub を統合するためのレジストリへのプッシュが成功した後にアクションをトリガします。

GitLab のレジストリ Webhook の詳細

コンテナレジストリの高可用性

すべてのコンテナとメタデータの複数のレプリカを使用することで高可用性を実現し、マシンに障害が発生した場合でも、レジストリは継続して動作し、修復することができます。

GitLab の高可用性の詳細

コンテナレジストリの地理的レプリケーション

複数の地域で複数のレジストリインスタンスを実行し、データセンター間で同期することにより、分散チームをサポートします。

GitLab レプリケーションの詳細

プライベートコンテナレジストリをサポート

プライベートコンテナのレジストリとリポジトリを持つ機能を提供します。

GitLab のプライベートコンテナレジストリの詳細

SaaS コンテナレジストリオファリング

コンテナレジストリは、ソフトウェアサービスとして利用可能です。

GitLab.com で利用可能なコンテナレジストリについて

自己管理型コンテナレジストリオファリング

組織のデータセンター、共同ホスト、選択したクラウドプロバイダで、自己インストールや自己管理が可能なコンテナレジストリです。

自己インストールの GitLab の詳細

REST API によるコンテナレジストリの利用

REST API によるコンテナレジストリの自動化と統合のサポートを有効にします。

GitLab 課題を見る

Dockerイメージを検索

GitLab インスタンス内のDockerイメージを名前やタグで検索できます。

GitLab 課題を見る

ガベージコレクションを実行することで、GitLab コンテナレジストリのストレージコストを削減

Dockerレジストリのコンテキストでは、ガベージコレクションとは、マニフェストで参照されなくなったブロブをファイルシステムから削除するプロセスのことです。

ドキュメントをチェックして、使い始める。

Dockerイメージを検索

グループとプロジェクトのコンテナレジストリのイメージを名前で検索できます。

GitLab コンテナレジストリの詳細

Helm チャートリポジトリをサポート

Helm Chartの保存と取得をサポートします

GitLab 課題を見る

イメージの有効期限ポリシー

プロジェクトレベルのポリシーを定義して、どのイメージを削除または保存すべきかを定義できます。 この機能は、ストレージのコストを削減し、重要なイメージが削除されるのを防ぐことができるように設計されています。

イメージの有効期限ポリシーの詳細

仮想パッケージリポジトリを活用して、パッケージ管理ワークフローを簡素化します。

仮想リポジトリとは、単一の論理 URL を通じてアクセスされるローカル、リモート、その他の仮想リポジトリの集合体です。

GitLabのエピックで、この機能を追加するために必要な課題を詳細に説明しています。

より安全で信頼性の高いビルドのためのリモートパッケージレジストリをプロキシします。

多くの組織では、頻繁に利用しているアップストリームのイメージ/パッケージ用のキャッシュプロキシを使うのが便利です。CI/CD の場合は、プロキシはリクエストを受信し、レジストリからアップストリームのイメージを渡す責任があり、パイプラインを高速化するためのプルスルーキャッシュとして機能します。

依存性プロキシの詳細

Conan (C/C++) リポジトリ

Conan は、開発者がネイティブバイナリを作成, 共有するためのオープンソースの分散型 C/C++ マルチプラットフォームパッケージです。

Conanリポジトリに関するドキュメント

Maven (Java) リポジトリ

GitLab の Maven リポジトリにより、組織全体での Java ライブラリの公開と共有が簡単になり、依存関係が正しく管理されるようになります。認証と承認を含め、GitLab と完全に統合されています。

Maven リポジトリのドキュメント

NPM レジストリ

GitLab の NPM リポジトリにより、組織全体で NPM パッケージを公開および共有しやすくなり、依存関係が正しく管理されるようになります。認証と承認を含め、GitLab と完全に統合されています。

NPM リポジトリに関するドキュメント

NuGet (.NET) リポジトリ

GitLabのNuGetリポジトリは、C#/.NETの開発者がNuGetクライアントやVisual Studioを使ってパッケージを作成、公開、共有することを可能にします。

NuGet リポジトリのドキュメント

PyPI (Python) リポジトリ

Python開発者はGitLabをリモートPyPIリポジトリとして設定し、PyPIクライアントやGitLab CI/CDを使ってパッケージをビルド、公開、共有することができます。

エピックで詳細を確認

RPM (Linux) リポジトリ

この計画中の機能により、Linux開発者は、ソースコードやパイプラインと一緒にRPMパッケージを構築、公開、共有することができます。

課題で詳細を確認

Debian (Linux) リポジトリ

この計画中の機能により、Linux 開発者はソースコードやパイプラインと一緒に Debian パッケージを構築、公開、共有できるようになります。

課題で詳細を確認

RubyGems (Ruby) リポジトリ

この計画中の機能は、Ruby開発者がGitLabをリモートのRubyGemsリポジトリとして設定し、コマンドラインやGitLab CI/CDを使ってパッケージをビルド、公開、共有できるようにするものです。 また、GitLab自体の開発にとっても貴重な機能であり、[dogfooding](https://about.gitlab.com/handbook/values/#dogfooding)にも役立ちます。

課題で詳細を確認

Go リポジトリ

この計画中の機能により、Go開発者はソースコードやパイプラインと一緒にパッケージを構築、公開、共有できるようになります。 これはGitLab自体の開発にとっても貴重な機能であり、[dogfooding](https://about.gitlab.com/handbook/values/#dogfooding)にも役立ちます。

課題で詳細を確認

Composer (PHP) リポジトリ

この計画中の機能により、PHP 開発者はソースコードやパイプラインと一緒にパッケージを構築、公開、共有することができるようになります。

課題で詳細を確認

REST APIでパッケージレジストリを使用する

REST API を使用して GitLab パッケージレジストリの自動化とインテグレーションをサポートします。

APIに関するドキュメント