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.

Les modes de dépôt suivants sont également 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 à l'aide de clés détenues et gérées par Google, ou de clés de chiffrement gérées par le client Artifact Registry utilise par défaut des clés de chiffrement détenues et 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 à l'aide d'une clé détenue par Google et 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 immuables 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. Si vous souhaitez utiliser des règles de nettoyage pour supprimer les artefacts inutilisés, consultez la section Règles de nettoyage:

    1. Sélectionnez Simulation pour tester votre stratégie avant de l'appliquer.
    2. Cliquez sur Ajouter une règle pour ajouter une règle de conservation ou de suppression à votre dépôt.
    3. Attribuez un nom descriptif à votre règle de nettoyage dans le champ Nom.
    4. Dans la section Type de règle, sélectionnez l'une des options suivantes:

      • Suppression conditionnelle: supprime les artefacts en fonction des conditions que vous définissez.
      • Conservation conditionnelle: conserve les artefacts en fonction des conditions que vous définissez.
      • Conserver les versions les plus récentes: conserve un nombre défini de versions les plus récentes par package.

      Pour en savoir plus sur les règles de nettoyage, consultez la section Configurer des règles de nettoyage.

  12. 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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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

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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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é.
  • --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.

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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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.

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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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 stratégie de version pour créer un instantané ou un dépôt de versions.

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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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: régional ou multirégional emplacement du dépôt. Vous pouvez l'omettre si vous définissez une option default. 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

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Docker

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Générique

```hcl
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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Go

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Pipelines Kubeflow

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

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.

```hcl
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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Pour stocker des versions d'instantanés et de publication dans différents dépôts, spécifiez une règle de version pour le dépôt à l'aide d'un bloc maven_config. Ce bloc accepte 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

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Python

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

Yum

```hcl 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"
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}
```

Remplacez les éléments suivants :

  * `PROJECT-ID` is the Google Cloud project ID.
  * `LOCATION` is the repository location.
  * `REPOSITORY` is the repository name.
  * `DESCRIPTION` is the optional description for the repository.
    Do not include sensitive data, since repository descriptions are
    not encrypted.
  * `KEY `is the name of the Cloud Key Management Service key, if you are using
    [customer-managed encryption keys][cmek] (CMEK) for encryption. Omit
    this argument to use the default setting, Google-managed encryption
    keys.
  * `DRY_RUN_STATUS` determines if cleanup policies delete
    artifacts, or only log which artifacts would be deleted if setting
    cleanup policies on the repository. Omit if you don't want to add
    cleanup policies to the repository.
      * `true`: sets the policies to run in dry run mode. No artifacts are
        deleted in dry run mode.
      * `false`: applies the cleanup policies. Artifacts are deleted or
        kept depending on the policies.

    For more information on cleanup policies, see
    [Configure cleanup policies](/artifact-registry/docs/repositories/cleanup-policy).
  * `POLICY_NAME` is the name of the cleanup policy.
  * `TAG_STATE` is the tag state to apply the policy to. Values
    are `tagged`, `untagged`, and `any`. `any` applies to both tagged and
    untagged artifacts. If a repository has immutable tags enabled, tagged
    artifacts can't be deleted.
  * `TAG_PREFIX`, `TAG_PREFIX_N` are tag prefixes to
    apply the policy to.
  * `PKG_PREFIX`, `PKG_PREFIX_N` are package prefixes
    to apply the policy to.
  * `TIME_SINCE_UPLOAD` is the time since an artifact version
    was uploaded to the repository, specified as a duration. You can specify
    durations of seconds, minutes, hours, or days by appending `s`, `m`, `h`,
    or `d` respectively.
  * `KEEP_COUNT` is the number of versions of an artifact to
    keep in your repository.

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:

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: régional ou multirégional emplacement. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement default, vous pouvez omettre cet indicateur pour utiliser l'emplacement par défaut.
  • DESCRIPTION: description du dépôt.

Étapes suivantes