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