標準リポジトリを作成する

このページでは、Artifact Registry の標準リポジトリを作成する方法について説明します。

標準リポジトリは、限定公開アーティファクト用のリポジトリです。アーティファクトは、標準リポジトリにアップロードし、標準リポジトリから直接ダウンロードします。

一部のアーティファクト形式に対しては、他にも 2 つのリポジトリ モードがあります。

  • リモート リポジトリは、外部ソースからのアーティファクト(Docker Hub、Maven Central、PyPI など)を保存します。
  • 仮想リポジトリは、アップストリームの標準リポジトリまたはリモート リポジトリにあるアーティファクトをダウンロード、インストール、デプロイするための単一のアクセス ポイントとして機能します。

各リポジトリには、一種類のサポートされている形式のアーティファクトを含めることができます。

始める前に

  1. Artifact Registry を有効にします。これには Artifact Registry API の有効化と Google Cloud CLI のインストールが含まれます。
  2. (省略可)gcloud コマンドのデフォルトを構成します。
  3. リポジトリのコンテンツを暗号化するために顧客管理の暗号鍵(CMEK)が必要な場合は、リポジトリで Cloud KMS の鍵を作成して有効化します。

必要なロール

リポジトリの作成に必要な権限を取得するには、管理者に Google Cloud プロジェクトに対する Artifact Registry リポジトリ管理者roles/artifactregistry.repoAdmin)IAM ロールの付与を依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

標準リポジトリを作成する

リポジトリを作成する際は、次の設定を構成する必要があります。この設定は、リポジトリの作成後に変更できません。

  • アーティファクトの形式。
  • リポジトリ モード(選択した形式で複数のモードが使用可能な場合)。
  • リポジトリのロケーション
  • Google が管理する鍵または顧客管理の暗号鍵による暗号化。Artifact Registry は、デフォルトで Google が管理する暗号鍵を使用します。

Artifact Registry では組織のポリシーの制約が適用され、CMEK でリソースを暗号化するか、CMEK の保護に使用できる Cloud KMS 鍵を制限する必要があります。

Google Cloud コンソールを使用してリポジトリを作成する

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. [リポジトリを作成] をクリックします。

  3. リポジトリ名を指定します。プロジェクト内のリポジトリの場所ごとに、リポジトリ名は一意であることが必要です。

  4. リポジトリの形式を選択します。

  5. 複数のリポジトリ モードが使用可能な場合は、[標準] を選択します。

  6. Maven のみ: バージョン ポリシーを構成します。

    1. バージョン ポリシーを選択します。

      • なし - バージョン ポリシーはありません。リリース パッケージとスナップショット パッケージの両方を保存します。
      • リリース - リリース パッケージのみを保存します。
      • スナップショット - スナップショット パッケージのみを保存します。
    2. スナップショット リポジトリが、リポジトリ内の既存のバージョンを上書きするような一意でないスナップショットを受け入れる場合は、[スナップショットの上書きを許可する] を選択します。

  7. [ロケーション タイプ] でリポジトリのロケーションを選択します。

    1. ロケーション タイプには、[リージョン] または [マルチリージョン] を選択します。ロケーションのリストは、選択した内容に応じて変わります。

    2. [リージョン] リストまたは [マルチリージョン] リストでロケーションを選択します。

    ロケーション タイプとサポートされているロケーションについては、リポジトリのロケーションをご覧ください。

  8. リポジトリの説明を追加します。説明は、リポジトリの目的とリポジトリに含まれるアーティファクトの種類の識別に役立ちます。

    リポジトリの説明は暗号化されないため、機密データは含めないでください。

  9. ラベルを使用してリポジトリを整理する場合は、[ラベルを追加] をクリックしてラベルの Key-Value ペアを入力します。リポジトリを作成した後にラベルを追加、編集、削除できます。

  10. [暗号化] セクションで、リポジトリの暗号化方式を選択します。

    • Google が管理する鍵 - Google が管理する暗号鍵を使用してリポジトリのコンテンツを暗号化します。
    • 顧客管理の暗号鍵 - Cloud Key Management Service で管理する鍵を使用してリポジトリのコンテンツを暗号化します。鍵の設定手順については、リポジトリの CMEK の設定をご覧ください。

    • Docker リポジトリの場合、[不変のイメージタグ] 設定(プレビュー)は、常に同じイメージ ダイジェストを指すイメージタグを使用するようにリポジトリを構成します。Artifact Registry 管理者ロールを持つユーザーは、リポジトリの作成後にこの設定を変更できます。

      • デフォルトでは、この設定は無効になっています。イメージタグは変更可能です。つまり、タグが指すイメージ ダイジェストは変更される可能性があります。
      • この設定を有効にすると、イメージタグは変更できません。タグは常に同じイメージ ダイジェストを指す必要があります。変更可能なイメージタグと不変イメージタグの詳細については、コンテナ イメージのバージョンをご覧ください。
  11. [作成] をクリックします。

Artifact Registry でリポジトリが作成され、リポジトリのリストに追加されます。

リポジトリを作成した後は:

Google Cloud CLI を使用してリポジトリを作成する

コマンドを実行して新しいリポジトリを作成します。

Apt

gcloud artifacts repositories create REPOSITORY \
    --repository-format=apt \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Docker

gcloud artifacts repositories create REPOSITORY \
    --repository-format=docker \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --immutable-tags \
    --async
  • REPOSITORY はリポジトリの名前です。プロジェクト内のリポジトリの場所ごとに、リポジトリ名は一意であることが必要です。
  • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。デフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION はリポジトリの説明です。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • 顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合、KMS-KEY は Cloud KMS 暗号鍵へのフルパスです。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    ここで

    • KMS-PROJECT は、鍵が保存されているプロジェクトです。
    • KMS-LOCATION は鍵の場所です。
    • KEY-RING はキーリングの名前です。
    • KEY は、鍵の名前です。
  • --immutable-tags は、常に同じイメージ ダイジェストを指すタグを使用するようにリポジトリを構成するオプションのフラグです。

    --immutable-tags フラグが渡されない場合、デフォルトではタグを別のイメージ ダイジェストに移動できます。不変イメージタグと変更可能なイメージタグの詳細については、コンテナ イメージのバージョンをご覧ください。

  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

KubeFlow Pipelines

gcloud artifacts repositories create REPOSITORY \
    --repository-format=kfp \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Maven

デフォルトでは、Maven リポジトリには、パッケージのスナップショットとリリース バージョンの両方が保存されます。バージョン ポリシーを指定して、スナップショットまたはリリース リポジトリを作成できます。

スナップショットとリリースを保存するリポジトリを作成するには、次のコマンドを実行します。

gcloud artifacts repositories create REPOSITORY \
    --repository-format=maven \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

スナップショットとリリース バージョンを別々のリポジトリに保存するには、コマンドでバージョン ポリシーを指定します。

gcloud artifacts repositories create REPOSITORY \
  --repository-format=maven \
  [--location=LOCATION] \
  [--description="DESCRIPTION"] \
  [--kms-key=KMS-KEY] \
  [--version-policy=VERSION-POLICY] \
  [--allow-snapshot-overwrites] \
  [--async] \

次のフラグは、Maven リポジトリ専用です。

--version-policy=VERSION-POLICY
リポジトリに保存するパッケージのタイプを指定します。VERSION-POLICY は、次の値に設定できます。
  • None - バージョン ポリシーなし。リリース パッケージとスナップショット パッケージの両方を保存します。 コマンドに --version-policy フラグを含めない場合、これがデフォルト設定です。
  • Release - リリース パッケージのみを保存します。
  • Snapshot - スナップショット パッケージのみを保存します。
--allow-snapshot-overwrites
スナップショット リポジトリのみの場合。このフラグを指定すると、リポジトリ内の既存のバージョンを上書きするような一意でないスナップショットを公開できます。

npm

gcloud artifacts repositories create REPOSITORY \
    --repository-format=npm \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Python

gcloud artifacts repositories create REPOSITORY \
    --repository-format=python \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Yum

gcloud artifacts repositories create REPOSITORY \
    --repository-format=yum \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Go

gcloud artifacts repositories create REPOSITORY \
    --repository-format=go \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

汎用

gcloud artifacts repositories create REPOSITORY \
    --repository-format=generic \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --async

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 プロジェクト内のリポジトリのロケーションごとに、リポジトリ名は一意でなければなりません。
  • LOCATION: リポジトリのリージョンまたはマルチリージョンのロケーションデフォルトを設定すると、このフラグを省略できます。サポートされているロケーションの一覧を表示するには、次のコマンドを実行します。

    gcloud artifacts locations list
    
  • DESCRIPTION: リポジトリの説明。リポジトリの説明は暗号化されないため、機密データは含めないでください。

  • KMS-KEY: Cloud KMS 暗号鍵へのフルパス(顧客管理の暗号鍵を使用してリポジトリのコンテンツを暗号化している場合)。パスは次の形式です。

    projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
    

    次のように置き換えます。

    • KMS-PROJECT: 鍵が保存されているプロジェクト。
    • KMS-LOCATION: 鍵のロケーション。
    • KEY-RING: キーリングの名前。
    • KEY: 鍵の名前
  • --async は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

Artifact Registry がリポジトリを作成します。次のコマンドを実行してリポジトリの説明を表示します。

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

リポジトリを作成した後は:

Terraform を使用してリポジトリを作成する

google_artifact_registry_repository リソースを使用して、リポジトリを作成します。terraform-provider-google バージョン 5.0.0 以降が必要です。

Google Cloud で Terraform を初めて使用する場合は、HashiCorp ウェブサイトの Google Cloud スタートガイド ページをご覧ください。

次の例では、プロバイダと、Terraform リソース名が my-repo のリポジトリを定義します。

Apt

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "apt"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

Docker

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "docker"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

KubeFlow Pipelines

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "kfp"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

Maven

バージョン ポリシーを指定しない場合は、Artifact Registry によってデフォルトでパッケージのスナップショットとリリース バージョンの両方を保存する Maven リポジトリが作成されます。

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "maven"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

スナップショットとリリース バージョンを別々のリポジトリに保存するには、maven_config ブロックを使用してリポジトリのバージョン ポリシーを指定します。このブロックは、次の設定をサポートしています。

  • version_policy は、バージョン ポリシーに次のいずれかの値を設定します。
    • VERSION_POLICY_UNSPECIFIED: スナップショットとリリース パッケージを保存します。これはデフォルトの設定です。
    • RELEASE: リリース パッケージのみを保存します。
    • SNAPSHOT: スナップショット パッケージのみを保存します。
  • allow_snapshot_overwrites は、SNAPSHOT バージョン ポリシーで、リポジトリ内の既存のバージョンを上書きする一意でないスナップショットを受け入れるようにリポジトリを構成します。

次の例では、リリース バージョン ポリシーを持つ Maven リポジトリを定義しています。

provider "google" {
project = "my-project"
}

resource "google_artifact_registry_repository" "my-repo" {
provider = google-beta

location = "us-central1"
repository_id = "my-repo"
description = "Maven repository"
format = "MAVEN"
maven_config {
  version_policy = "RELEASE"
}
}

npm

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "npm"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

Python

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "python"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

Artifact Registry がリポジトリを作成します。次のコマンドを実行してリポジトリの説明を表示します。

gcloud artifacts repositories describe REPOSITORY \
  --location=LOCATION

Yum

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "yum"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

Go

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "go"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

汎用

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location = "LOCATION"
  repository_id = "REPOSITORY"
  description = "DESCRIPTION"
  format = "generic"
  kms_key_name = "KEY"
}

次のように置き換えます。

  • PROJECT-ID: Google Cloud プロジェクト ID。
  • LOCATION: リポジトリのロケーション。
  • REPOSITORY: リポジトリの名前。
  • DESCRIPTION: リポジトリの説明(省略可能)。リポジトリの説明は暗号化されないため、機密データは含めないでください。
  • KEY: Cloud Key Management Service 鍵の名前(暗号化に顧客管理の暗号鍵(CMEK)を使用している場合)。デフォルト設定(Google が管理する暗号鍵)を使用する場合は、この引数を省略します。

リポジトリを作成した後は:

リポジトリの説明を編集する

リポジトリの説明は、Google Cloud コンソールか gcloud CLI から変更できます。

Console

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストでリポジトリを選択し、[リポジトリを編集] をクリックします。

  3. リポジトリの説明を編集し、[保存] をクリックします。

gcloud

リポジトリの説明を更新するには次のコマンドを実行します。

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT] \
    --location=LOCATION \
    --description="DESCRIPTION"

次のように置き換えます。

  • REPOSITORY: リポジトリの名前 デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。
  • PROJECT: Google Cloud プロジェクト ID。 このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。
  • LOCATION: リージョンまたはマルチリージョンのロケーション。このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。
  • DESCRIPTION: リポジトリの説明。

次のステップ