依存プロキシ

GitLab Ultimate11.11で導入されました

注:これはユーザーガイドです。 依存プロキシを使用するには、まず管理者が設定する必要があります。

CI/CDの場合、プロキシはリクエストを受けてレジストリからアップストリームイメージを返す役割を担い、プルスルーキャッシュとして機能します。

依存プロキシはグループレベルで使用できます。 依存プロキシにアクセスするには、グループの [パッケージとレジストリ] > [依存プロキシ] に移動します。

Dependency Proxy group page

対応依存プロキシ

注:今後追加されるプロキシのリストについては、ディレクションページをご覧ください。

以下の依存プロキシがサポートされています。

依存関係プロキシ GitLabバージョン
Docker 11.11+

Docker依存プロキシの使用

Docker依存プロキシを使えば、GitLabをDockerイメージのソースとして使うことができます。 Dockerイメージを依存プロキシに取り込むには:

  1. グループのページの [パッケージとレジストリ] > [依存プロキシ] で、プロキシの URL を見つけてください (例:gitlab.com/groupname/dependency_proxy/containers)。
  2. GitLabをトリガーして必要なDockerイメージ(例:alpine:latestlinuxserver/nextcloud:latest)を取得し、以下のいずれかの方法でプロキシストレージに保存します:

    • 手動でDockerイメージをプルします:

       docker pull gitlab.com/groupname/dependency_proxy/containers/alpine:latest
      
    • Dockerfileより:

       FROM gitlab.com/groupname/dependency_proxy/containers/alpine:latest
      
    • .gitlab-ci.yml

       image: gitlab.com/groupname/dependency_proxy/containers/alpine:latest
      

GitLabはDocker HubからDockerイメージをプルし、GitLabサーバにBlobをキャッシュします。 次に同じイメージをプルするときは、Docker Hubからイメージに関する最新の情報を取得しますが、GitLabから既存のBlobを提供します。

ブロブは永久に保存され、保存できるデータ量に難しい制限はありません。

キャッシュのクリア

GitLab API を使って、指定したグループの依存プロキシキャッシュをパージすることで、不要になったイメージ blob によって占有されていたディスクスペースを取り戻すことができます。 詳細は依存プロキシ API ドキュメントを参照ください。

制限事項

以下の制限が適用されます:

  • 公開グループのみがサポートされています(認証はまだサポートされていません)。
  • Docker Hubのみがサポートされています。
  • この機能を利用するには、Docker Hubが利用可能である必要があります。