Sonatype Nexus RepositoryとGitLabの比較 | GitLab.JP

このページでは、Sonatype Nexus RepositoryとGitLabを比較しています。それぞれの強みや不足部分を確認して、判断材料にしてください。

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

FEATURES

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

GitLabコンテナレジストリは、Dockerイメージのセキュアでプライベートなレジストリです。GitLab CIから簡単にイメージのアップロードやダウンロードができます。コンテナレジストリはGitリポジトリ管理と完全に統合されています。(Codefresh will be ending their support for private docker registries as of May 1, 2020

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

Docker イメージのサポート

Supports storage and retrieval of Docker style containers.

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

コンテナレジストリ Webhook

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

GitLab のレジストリ Webhook の詳細

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

Highly available through the use of multiple replicas of all containers and metadata such that if a machine fails, the registry continues to operate and can be repaired.

GitLab の高可用性の詳細

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GitLab 課題を見る

Use search to find and identify Docker images

Allows users to search their GitLab instance for image names and tags

GitLab 課題を見る

Lower the cost of storage for the GitLab Container Registry by running garbage collection

In the context of the Docker registry, garbage collection is the process of removing blobs from the filesystem when they are no longer referenced by a manifest.

Check out the documentation, and get started today.

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

Supports storage and retrieval of Helm charts.

GitLab 課題を見る

Docker tag expiration and retention policies

Easily define, manage and update Docker image expiration policies on a per project and per Docker repository level, reducing storage costs and operational risks of manually removing images.

Learn more about how to programmatically expire images

Leverage virtual package repositories to simplify package management workflows.

A virtual repository is a collection of local, remote and other virtual repositories accessed through a single logical URL.

GitLab Epic detailing the issues required to add this functionality.

Proxy remote package registries for safer, more reliable builds.

For many organizations, it is useful to have a caching proxy for frequently used upstream packages. In the case of CI/CD, the proxy is responsible for receiving a request and returning the upstream package from a registry, acting as a pull-through cache to speed up your pipelines.

依存性プロキシの詳細

Conan (C/C++) Repository

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

Documentation on the Conan Repository

Maven (Java) Repository

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

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

NPM (node) Registry

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

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

NuGet (.NET) Repository

GitLab's NuGet Repository allows C#/.NET developers to create, publish and share packages using the NuGet client or visual studio.

Documentation on the NuGet Repository

PyPI (Python) Repository

Python developers can set up GitLab as a remote PyPI repository and build, publish, and share packages using the PyPI client or GitLab CI/CD.

Check out the epic for additional details on implementation and timing

RPM (Linux) Repository

This planned feature will enable Linux developers to build, publish and share RPM packages alongside their source code and pipelines.

Check out the issue for additional details on implementation and timing

Debian (Linux) Repository

This planned feature will enable Linux developers to build, publish and share Debian packages alongside their source code and pipelines.

Check out the issue for additional details on implementation and timing

RubyGems (Ruby) Repository

This planned feature will enable Ruby developers to setup GitLab as a remote RubyGems repository and to build, publish and share packages using the command line or GitLab CI/CD. This will also be a valuable feature for GitLab and help with [dogfooding](https://about.gitlab.com/handbook/values/#dogfooding)

Check out the issue for additional details on implementation and timing

Go Repository

This planned feature will enable Go developers to build, publish and share their packages right alongside their source code and pipelines. This will also be a valuable feature for GitLab and help with [dogfooding](https://about.gitlab.com/handbook/values/#dogfooding)

Check out the issue for additional details on implementation and timing

Composer (PHP) Repository

This planned feature will enable PHP developers to build, publish and share their packages right alongside their source code and pipelines.

Check out the issue for additional details on implementation and timing

Use the Package Registry through REST API

Enables support for automation and integration of the GitLab Package Registry through a REST API.

Documentation on API