一般的なトラブルシューティング

Artifact Registry の使用時にすべてのアーティファクト形式に適用されるトラブルシューティングの手順について説明します。アーティファクト形式に固有の問題については、形式固有のページをご覧ください。

無効なリポジトリまたはコマンドのロケーション

次の情報を使用して、無効なリポジトリのロケーションまたは無効なリポジトリ名のエラーを診断してください。

gcloud のロケーションとリポジトリのデフォルト

Google Cloud CLI でデフォルトのリポジトリとロケーションを設定して、gcloud artifacts コマンドから --location フラグと --repository フラグを省略できるようにするには、フラグと対応する値で失敗したコマンドの実行を試行してください。特定のコマンドの構文の詳細については、--help フラグを使用してコマンドを実行します。

デフォルトのリポジトリ設定は、--repository フラグなしでリポジトリ名を指定する gcloud artifacts コマンドには適用されません。たとえば、次の例のように、gcloud artifacts repositories describe コマンドでリポジトリ名を指定する必要があります。

gcloud artifacts repositories describe my-repo --location=us-west1

それでもコマンドが失敗する場合は、リポジトリまたはロケーションに有効な値を指定していることを確認しなければならない場合があります。

リポジトリの場所

サポートされているすべての Artifact Registry のロケーションを一覧表示するには、次のコマンドを実行します。

gcloud artifacts locations list

組織のポリシーにはロケーションの制限が含まれている場合があります。Artifact Registry では、これらの制限がリポジトリの作成時に適用されます。Artifact Registry は、ロケーションの制限より古いリポジトリに遡及的にポリシーを適用しません。

gcloud コマンドのリポジトリ名

リポジトリを一覧表示して、指定したプロジェクトまたはロケーションのリポジトリ名を一覧表示できます。

プロジェクト内のすべてのリポジトリを一覧表示するには、次のコマンドを実行します。

gcloud artifacts repositories list --project=PROJECT-ID \
    --location=all

ロケーション内のすべてのリポジトリを一覧表示するには、次のコマンドを実行します。

gcloud artifacts repositories list --project=PROJECT-ID \
    --location=LOCATION

PROJECT-ID は実際の Google Cloud プロジェクト ID に、LOCATION はリポジトリのロケーションに置き換えます。

このコマンドは、次の例のような各リポジトリの情報を返します。

REPOSITORY: my-repo
FORMAT: MAVEN
DESCRIPTION:
LOCATION: us-east1
LABELS:
ENCRYPTION: Google-managed key
CREATE_TIME: 2021-09-23T19:39:10
UPDATE_TIME: 2021-09-23T19:39:10

REPOSITORY の値は、リポジトリ名をパラメータとして含む gcloud artifacts コマンドで使用する値です。

たとえば、次のコマンドでは --repository フラグを使用しています。

gcloud artifacts packages list --location=us-east1 --repository=my-repo

このコマンドは、フラグなしでリポジトリ名のみを使用します。

gcloud artifacts repositories describe my-repo --location=us-west1

サードパーティ クライアントのリポジトリ名

サードパーティ クライアントの場合、通常、クライアントの構成時にリポジトリの完全なパスを使用します(例: us-east1-docker.pkg.dev/my-project/my-repo)。その後、クライアントの規則に従ってパッケージをアップロードおよびダウンロードします。クライアントの構成と使用方法の詳細については、使用している形式のドキュメントをご覧ください。

Container Registry から移行する場合は、すべてのイメージパスに Artifact Registry リポジトリ名を含める必要があります。プロジェクト ID のみを含むイメージパスは指定できません。

  • 無効なパス: us-east1-docker.pkg.dev/my-project/my-image
  • 有効なパス: us-east1-docker.pkg.dev/my-project/my-repo/my-image

削除されていないリポジトリから push または pull できない

Google Cloud プロジェクトの削除を取り消した後や、Artifact Registry API を無効にした後に有効にした後は、リポジトリは正常に動作しなくなります。

Artifact Registry API を無効にするか、プロジェクトを削除すると、Artifact Registry サービスを利用できなくなります。Artifact Registry は、リポジトリ データを 7 日後に削除します。

詳しくは、Google Cloud Platform におけるデータの削除をご覧ください。