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

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

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

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

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

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

始める前に

  1. Artifact Registry API の有効化や Google Cloud CLI のインストールなど、Artifact Registry を有効にします
  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 は処理中のオペレーションの完了を待たずに、直ちにコマンドを終了します。

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"
}

Where

  • 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"
}

Where

  • 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"
}

Where

  • 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"
}

Where

  • 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"
}

Where

  • 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 は、リポジトリの説明です。

次のステップ