GitLabパッケージレジストリ

GitLabパッケージを利用することで、GitLabを様々なパッケージマネージャのプライベートリポジトリとして利用できます。ユーザーはパッケージをビルドして公開でき、下流のプロジェクトで依存関係として簡単に利用できます。

Packages機能では、GitLabを以下のリポジトリとして機能させることができます:

リポジトリ 説明 GitLabバージョンで利用可能
コンテナレジストリ コンテナレジストリを利用することで、すべてのプロジェクトがDockerイメージを保存するためのスペースを持つことができます。 8.8+
依存プロキシ 依存関係プロキシは、頻繁に利用される上流のイメージ/パッケージのローカルプロキシを設定します。 11.11+
リポジトリ Conanリポジトリを利用することで、すべてのプロジェクトがConanパッケージを保存するためのスペースを持つことができます。 12.6+
Mavenリポジトリ Mavenリポジトリは、すべてのプロジェクトがMavenパッケージを保存するためのスペースを持つことができます。 11.3+
npmレジストリ NPMレジストリを使用すると、すべてのプロジェクトが NPM パッケージを保存するためのスペースを持つことができます。 11.7+
NuGetリポジトリ GitLab NuGetリポジトリは、GitLabのすべてのプロジェクトがNuGetパッケージを保存する独自のスペースを持つことを可能にします。 12.8+
PyPiリポジトリ GitLab PyPiリポジトリは、GitLabのすべてのプロジェクトがPyPiパッケージを保存するための独自のスペースを持つことを可能にします。 12.10+
プロキシ GitLab用のGoプロキシは、GitLabのすべてのプロジェクトをGoプロキシプロトコルで取得できるようにします。 13.1+
Composer リポジトリ GitLab Composerリポジトリは、GitLabのすべてのプロジェクトがComposerパッケージを保存するための独自のスペースを持つことを可能にします。 13.2+

プロジェクトのパッケージレジストリを有効にします。

プロジェクトのサイドバーに Packages & Registries > Package Registryの項目が見つからない場合は、以下を確認してください:

  1. GitLab パッケージレジストリが管理者によって有効化されていること(このドキュメントに従ってください)。
  2. パッケージレジストリがプロジェクトで有効になりました。

管理者が GitLab インスタンスの GitLab パッケージレジストリを有効にしたら、プロジェクトのパッケージレジストリを有効にします:

  1. プロジェクトの「設定」>「一般」ページを開きます。
  2. 可視性、プロジェクト機能、権限セクションを展開し、プロジェクトでパッケージ機能を有効にします。
  3. 変更を有効にするには、[Save changes]を押してください。 これでサイドバーに[Packages & Registries] > [Package Registry]リンクが表示されるはずです。

プロジェクトのパッケージを見る

プロジェクトの{パッケージ} パッケージとレジストリ > パッケージレジストリに移動すると、プロジェクトに追加されたパッケージの一覧が表示されます。

Project Packages list

このページでは、以下のことができます:

  • プロジェクトにアップロードされたすべてのパッケージを表示します。
  • パッケージリストを作成日、バージョン、名前でソートします。
  • パッケージ名でリストをフィルタリングします。
  • 特定のタイプのパッケージを表示するようにタブを変更します。
  • パッケージを削除します(適切な権限がある場合)。
  • 特定のパッケージの詳細ページに移動します。

グループ向けパッケージを見る

グループのサイドバーから{パッケージとレジストリ }パッケージレジストリと進むと、グループに属するすべてのパッケージを見ることができます。

Group Packages list

このページでは、以下のことができます:

  • 各グループのプロジェクトにアップロードされたすべてのパッケージを表示します。
  • パッケージリストを作成日、バージョン、名前、プロジェクトでソートします。
  • パッケージ名でリストをフィルタリングします。
  • 特定のタイプのパッケージを表示するようにタブを変更します。
  • 特定のパッケージの詳細ページに移動します。

その他のパッケージ情報を見る

その他のパッケージ情報は、プロジェクトまたはグループリストからパッケージ詳細ページに移動することで確認できます。

Package detail

このページでは、以下のことができます:

  • メタデータを含む拡張パッケージ情報をご覧ください。 これは各パッケージタイプに固有で、タイプによって異なる情報が表示されます。
  • クイックインストールとレジストリセットアップの手順を表示します。 これらはパッケージレジストリをすでにセットアップしており、クイックインストールの手順を知りたいユーザーのためのショートカットです。
  • パッケージがいつ、どのように公開されたかを含む、パッケージのアクティビティを表示します。
  • パッケージの中身を見たり、ダウンロードしたりできます。 マネージャーを使ってパッケージをインストールする以外に、ファイルを個別にダウンロードすることもできます。
  • パッケージを削除します(適切な権限がある場合)。

GitLab CI/CDによるパッケージのビルド

サポートされているパッケージのいくつかは、CI_JOB_TOKENを使ってGitLab CI/CD経由でビルドすることができます。 この方法でパッケージがビルドされると、拡張アクティビティ情報がパッケージの詳細ページに表示されます:

Package CI/CD activity

どのパイプラインがパッケージを公開したか、コミットやトリガーしたユーザーを確認できます。 パッケージの種類が CI/CD 経由でのビルドをサポートしているかどうかは、パッケージの種類に応じたドキュメントを確認してください。

貢献するための提案

GitLab に貢献することを検討してみてください。 この開発ドキュメントがそのプロセスを案内してくれます。 あるいは、コミュニティの他のメンバーがどのようにPHPTerraformのサポートを追加しているかをチェックしてみてください。

フォーマット 使用例
貨物 Cargo は Rust パッケージマネージャです。 Rust パッケージをビルド、公開、共有できます。
Chef リポジトリマネージャのすべての利点を使ったChefによる設定管理。
ココアポッズ XcodeとCocoaPodsで開発者をスピードアップ。
コンダ セキュリティと非公開のローカルCondaリポジトリ。
CRAN R言語のCRANパッケージのデプロイと解決。
Debian Debian パッケージのホスティングとプロビジョニング。
オプジーグ Opkgリポジトリを使ってOpenWrtでの作業を最適化しましょう。
P2 すべてのEclipseプラグインをあなた自身のGitLab P2リポジトリにホストします。
人形 Puppetリポジトリによって、構成管理とリポジトリ管理が融合します。
回転数 GitLab から直接 RPM をディストリビューションします。
ルビー宝石 GitLabを使用して独自のgemをホストします。
SBT SBTビルドの実行時に、SBTリポジトリからの依存関係を解決し、ビルド出力をデプロイします。
浮浪者 Vagrantボックスをローカルリポジトリでセキュアにホストします。

パッケージワークフロー

GitLab パッケージレジストリの使い方を学ぶことで、独自のカスタムパッケージワークフローを構築することができます。