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

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 におけるデータの削除をご覧ください。