Créer des dépôts standards

Cette page explique comment créer des dépôts standards Artifact Registry.

Les dépôts standards sont des dépôts pour vos artefacts privés. Vous importez et téléchargez des artefacts directement à partir de ces dépôts.

Deux autres modes de dépôt sont disponibles pour certains formats d'artefacts:

  • Les dépôts distants stockent des artefacts provenant de sources externes telles que Docker Hub, Maven Central ou PyPI.
  • Les dépôts virtuels servent de point d'accès unique pour télécharger, installer ou déployer des artefacts qui se trouvent dans des dépôts standards ou distants en amont.

Chaque dépôt peut contenir des artefacts pour un seul format compatible.

Avant de commencer

  1. Activez Artifact Registry, y compris l'activation de l'API Artifact Registry et l'installation de Google Cloud CLI.
  2. (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
  3. Si vous avez besoin de clés de chiffrement gérées par le client (CMEK) pour chiffrer le contenu du dépôt, créez et activez une clé dans Cloud KMS pour le dépôt.

Rôles requis

Afin d'obtenir les autorisations nécessaires pour créer des dépôts, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur de dépôts Artifact Registry (roles/artifactregistry.repoAdmin) sur le projet Google Cloud. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un dépôt standard

Lorsque vous créez un dépôt, vous devez configurer les paramètres suivants, qui ne peuvent pas être modifiés après la création du dépôt:

  • Format de l'artefact.
  • Mode Dépôt, si plusieurs modes sont disponibles pour le format sélectionné.
  • Emplacement du dépôt.
  • Chiffrement avec des clés gérées par Google ou des clés de chiffrement gérées par le client. Artifact Registry utilise par défaut des clés de chiffrement gérées par Google.

Artifact Registry applique des contraintes liées aux règles d'administration qui nécessitent le chiffrement des ressources par CMEK ou limite les clés Cloud KMS pouvant être utilisées pour la protection CMEK.

Créer un dépôt à l'aide de la console Google Cloud

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Cliquez sur Créer un dépôt.

  3. Spécifiez le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.

  4. Sélectionnez le format du dépôt.

  5. Si plusieurs modes de dépôt sont disponibles, sélectionnez Standard.

  6. Maven uniquement: configurez la stratégie de version.

    1. Choisissez une règle de version:

      • Aucune : aucune règle relative aux versions. Stockez les packages de version et d'instantanés.
      • Release (Version) : stocker uniquement les packages de version.
      • Instantané : stocker uniquement les packages d'instantanés.
    2. Si vous souhaitez qu'un dépôt d'instantanés accepte les instantanés non uniques qui écrasent les versions existantes du dépôt, sélectionnez Autoriser l'écrasement d'instantanés.

  7. Sous Type d'emplacement, sélectionnez l'emplacement du dépôt :

    1. Choisissez le type d'emplacement : régional ou multirégional. La liste des emplacements change pour refléter votre sélection.

    2. Dans la liste Région ou Multirégional, sélectionnez un emplacement.

    Pour en savoir plus sur les types d'emplacements et les emplacements compatibles, consultez la section Emplacements des dépôts.

  8. Ajoutez une description pour le dépôt. Les descriptions aident à identifier l'objectif du dépôt et le type d'artefacts qu'il contient.

    N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  9. Si vous souhaitez utiliser des libellés pour organiser vos dépôts, cliquez sur Add Label (Ajouter une étiquette) et saisissez la paire clé-valeur du libellé. Vous pouvez ajouter, modifier ou supprimer des étiquettes après avoir créé le dépôt.

  10. Dans la section Chiffrement, choisissez le mécanisme de chiffrement du dépôt.

    • Clé gérée par Google : chiffrez le contenu du dépôt avec une clé de chiffrement gérée par Google.
    • Clé gérée par le client : chiffre le contenu du dépôt à l'aide d'une clé que vous contrôlez via Cloud Key Management Service. Pour obtenir des instructions sur la configuration de la clé, consultez la page Configurer des CMEK pour les dépôts.

    • Pour les dépôts Docker, le paramètre Tags d'image immuables (Aperçu) configure votre dépôt pour qu'il utilise des tags d'image qui pointent toujours vers le même condensé d'image. Un utilisateur doté du rôle d'administrateur Artifact Registry peut modifier ce paramètre une fois le dépôt créé.

      • Par défaut, ce paramètre est désactivé. Les tags d'image sont modifiables, ce qui signifie que le condensé de l'image vers lequel pointe le tag peut changer.
      • Si ce paramètre est activé, les tags d'image ne sont pas modifiables. Un tag doit toujours pointer vers le même condensé d'image. Pour en savoir plus sur les tags d'image modifiables et immuables, consultez la page Versions d'images de conteneurs.
  11. Cliquez sur Créer.

Artifact Registry crée le dépôt et l'ajoute à la liste des dépôts.

Après avoir créé le dépôt:

Créer un dépôt à l'aide de la Google Cloud CLI

Exécutez la commande suivante pour créer un dépôt.

Apt

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Docker

gcloud artifacts repositories create REPOSITORY \
    --repository-format=docker \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --immutable-tags \
    --async
  • REPOSITORY est le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION est l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION est une description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY est le chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    • KMS-PROJECT est le projet dans lequel votre clé est stockée.
    • KMS-LOCATION correspond à l'emplacement de la clé.
    • KEY-RING correspond au nom du trousseau de clés.
    • KEY correspond au nom de la clé.
  • --immutable-tags est un indicateur facultatif qui configure votre dépôt pour utiliser des tags qui pointent toujours vers le même condensé d'image.

    Par défaut, lorsque l'indicateur --immutable-tags n'est pas transmis, un tag peut être déplacé vers un autre condensé d'image. Pour en savoir plus sur les tags d'image immuables et modifiables, consultez la page Versions d'images de conteneurs.

  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Pipelines Kubeflow

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Maven

Par défaut, les dépôts Maven stockent à la fois les versions d'instantané et de version des packages. Vous pouvez spécifier une règle de version pour créer un instantané ou un dépôt de version.

Pour créer un dépôt qui stocke les instantanés et les versions, exécutez la commande suivante:

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Pour stocker des versions d'instantané et de publication dans différents dépôts, spécifiez la stratégie de version dans la commande:

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

Les options suivantes sont spécifiques aux dépôts Maven:

--version-policy=VERSION-POLICY
Spécifie les types de packages à stocker dans le dépôt. Vous pouvez définir VERSION-POLICY comme suit:
  • None : aucune règle relative aux versions. Stockez les packages de version et d'instantanés. Si vous n'incluez pas l'option --version-policy dans votre commande, il s'agit du paramètre par défaut.
  • Release : stocker uniquement les packages.
  • Snapshot : stocker uniquement les packages d'instantanés.
--allow-snapshot-overwrites
Pour les dépôts d'instantanés uniquement. Si vous spécifiez cet indicateur, vous pouvez publier des instantanés non uniques qui écrasent les versions existantes dans le dépôt.

npm

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Python

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Yum

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Go

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Générique

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande suivante :

    gcloud artifacts locations list
    
  • DESCRIPTION: description du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • KMS-KEY: chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

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

    Remplacez les éléments suivants :

    • KMS-PROJECT: projet dans lequel votre clé est stockée.
    • KMS-LOCATION : emplacement de la clé.
    • KEY-RING : nom du trousseau de clés.
    • KEY : nom de la clé.
  • --async renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.

Artifact Registry crée votre dépôt. Exécutez la commande suivante pour afficher une description du dépôt:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Après avoir créé le dépôt:

Créer un dépôt à l'aide de Terraform

Utilisez la ressource google_artifact_registry_repository pour créer des dépôts. Veuillez utiliser terraform-provider-google version 5.0.0 ou ultérieure.

Si vous débutez avec Terraform pour Google Cloud, consultez la page Premiers pas – Google Cloud sur le site Web de HashiCorp.

L'exemple suivant définit le fournisseur et un dépôt avec le nom de ressource 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"
}

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par 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"
}

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.

Pipelines Kubeflow

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

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.

Maven

Si vous ne spécifiez pas de stratégie de version, Artifact Registry crée un dépôt Maven qui stocke par défaut les versions d'instantané et de version des packages.

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

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.

Pour stocker des versions d'instantanés et de publication dans différents dépôts, spécifiez une stratégie de version pour le dépôt à l'aide d'un bloc maven_config. Ce bloc prend en charge les paramètres suivants:

  • version_policy définit la stratégie de version avec l'une des valeurs suivantes :
    • VERSION_POLICY_UNSPECIFIED: stocker les packages d'instantanés et de versions. Il s'agit du paramètre par défaut.
    • VERSION: packages de version sur le Play Store uniquement.
    • SNAPSHOT: stocker uniquement les packages d'instantanés
  • allow_snapshot_overwrites configure un dépôt avec une règle de version SNAPSHOT pour accepter les instantanés non uniques qui écrasent les versions existantes du dépôt.

L'exemple suivant définit un dépôt Maven avec une stratégie de version de version.

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

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par 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"
}

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.

Artifact Registry crée votre dépôt. Exécutez la commande suivante pour afficher une description du dépôt:

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

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par 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"
}

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.

Générique

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

Remplacez les éléments suivants :

  • PROJECT-ID : ID de projet Google Cloud.
  • LOCATION: emplacement du dépôt.
  • REPOSITORY: nom du dépôt.
  • DESCRIPTION: description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.
  • KEY: nom de la clé Cloud Key Management Service, si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, les clés de chiffrement gérées par Google.

Après avoir créé le dépôt:

Modifier les descriptions du dépôt

Vous pouvez modifier la description du dépôt depuis la console Google Cloud ou la gcloud CLI.

Console

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, sélectionnez le dépôt et cliquez sur Modifier le dépôt.

  3. Modifiez la description du dépôt, puis cliquez sur Save (Enregistrer).

gcloud

Pour mettre à jour la description du dépôt, exécutez la commande suivante:

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

Remplacez les éléments suivants :

  • REPOSITORY: nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez ignorer cette option et utiliser le dépôt par défaut.
  • PROJECT : ID de projet Google Cloud. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION: emplacement régional ou multirégional. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
  • DESCRIPTION: description du dépôt.

Étapes suivantes