Crea repositorios estándar

En esta página, se describe cómo crear repositorios estándar de Artifact Registry.

Los repositorios estándar son repositorios para tus artefactos privados. Puedes subir artefactos y descargarlos directamente desde estos repositorios.

Hay otros dos modos de repositorio disponibles para algunos formatos de artefactos:

  • Los repositorios remotos almacenan artefactos de fuentes externas como Docker Hub, Maven Central o PyPI.
  • Los repositorios virtuales actúan como un único punto de acceso para descargar, instalar o implementar artefactos que se encuentran en repositorios remotos o estándar ascendentes.

Cada repositorio puede contener artefactos para un solo formato admitido.

Antes de comenzar

  1. Habilita Artifact Registry, incluida la habilitación de la API de Artifact Registry y la instalación de Google Cloud CLI.
  2. (Opcional) Configura valores predeterminados para los comandos de gcloud.
  3. Si necesitas claves de encriptación administradas por el cliente (CMEK) para encriptar el contenido del repositorio, crea y habilita una clave en Cloud KMS para el repositorio.

Funciones obligatorias

Si quieres obtener los permisos que necesitas para crear repositorios, pídele a tu administrador que te otorgue el rol de IAM Administrador de repositorios de Artifact Registry (roles/artifactregistry.repoAdmin) en el proyecto de Google Cloud. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

Crea un repositorio estándar

Cuando creas un repositorio, debes establecer la siguiente configuración que no se puede cambiar después de crearlo:

  • Formato del artefacto.
  • Modo de repositorio, si hay varios modos disponibles para el formato seleccionado
  • Ubicación del repositorio.
  • Encriptación con claves administradas por Google o claves de encriptación administradas por el cliente Artifact Registry usa claves de encriptación administradas por Google de forma predeterminada.

Artifact Registry aplica restricciones de las políticas de la organización que requieren CMEK para encriptar recursos o limitar las claves de Cloud KMS que se pueden usar para la protección de CMEK.

Crea un repositorio con la consola de Google Cloud

  1. Abre la página Repositorios en la consola de Google Cloud.

    Abrir la página Repositorios

  2. Haz clic en Crear repositorio.

  3. Especifica el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.

  4. Selecciona el formato del repositorio.

  5. Si hay varios modos de repositorio disponibles, selecciona Estándar (Standard).

  6. Solo Maven: Configura la política de la versión.

    1. Elige una política de la versión:

      • None: Sin política de versiones. Almacena paquetes de actualización y de instantáneas.
      • Versión: Almacena solo paquetes de lanzamiento.
      • Instantánea: almacena solo paquetes de instantáneas.
    2. Si deseas que un repositorio de instantáneas acepte instantáneas no únicas que reemplacen las versiones existentes en el repositorio, selecciona Permitir reemplazo de instantáneas.

  7. En Tipo de ubicación, elige la ubicación para el repositorio:

    1. Elige el tipo de ubicación: Región o Multirregión. La lista de ubicaciones cambia para reflejar tu selección.

    2. En la lista Región o Multirregión, selecciona una ubicación.

    Para obtener información sobre los tipos de ubicaciones y las ubicaciones compatibles, consulta Ubicaciones de repositorios.

  8. Agrega una descripción para el repositorio. Las descripciones ayudan a identificar el propósito del repositorio y el tipo de artefactos que contiene.

    No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  9. Si quieres usar etiquetas para organizar tus repositorios, haz clic en Agregar etiqueta y, luego, ingresa el par clave-valor de la etiqueta. Puedes agregar, editar o quitar etiquetas después de crear el repositorio.

  10. En la sección Encriptación, elige el mecanismo de encriptación para el repositorio.

    • Clave administrada por Google: Encripta el contenido de un repositorio mediante una clave de encriptación administrada por Google.
    • Clave administrada por el cliente: Encripta el contenido de un repositorio mediante una clave que controlas a través de Cloud Key Management Service. Si deseas obtener instrucciones para la configuración de claves, consulta Configura CMEK para repositorios.

    • En los repositorios de Docker, la configuración Etiquetas de imagen inmutables (vista previa) configura tu repositorio para usar etiquetas de imagen que siempre apuntan al mismo resumen de imagen. Un usuario con el rol de administrador de Artifact Registry puede cambiar esta configuración después de que se crea el repositorio.

      • Esta configuración está inhabilitada de forma predeterminada. Las etiquetas de imagen son mutables, lo que significa que el resumen de la imagen al que apunta la etiqueta puede cambiar.
      • Si habilitas esta configuración, las etiquetas de imagen son inmutables. Una etiqueta siempre debe apuntar al mismo resumen de imágenes. Para obtener más información sobre las etiquetas de imagen inmutables y mutables, consulta Versiones de imagen de contenedor.
  11. Haz clic en Crear.

Artifact Registry crea el repositorio y lo agrega a la lista de repositorios.

Después de crear el repositorio, haz lo siguiente:

Crea un repositorio con Google Cloud CLI

Ejecuta el comando para crear un repositorio nuevo.

Apt

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Docker

gcloud artifacts repositories create REPOSITORY \
    --repository-format=docker \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --kms-key=KMS-KEY \
    --immutable-tags \
    --async
  • REPOSITORY es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY es la ruta completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Dónde

    • KMS-PROJECT es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION es la ubicación de la clave.
    • KEY-RING es el nombre del llavero de claves.
    • KEY es el nombre de la clave.
  • --immutable-tags es una marca opcional que configura tu repositorio para usar etiquetas que siempre apuntan al mismo resumen de imágenes.

    De forma predeterminada, cuando no se pasa la marca --immutable-tags, se puede mover una etiqueta a otro resumen de imágenes. Para obtener más información sobre las etiquetas de imagen inmutables y mutables, consulta Versiones de imagen de contenedor.

  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Canalizaciones de Kubeflow

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Maven

De forma predeterminada, los repositorios de Maven almacenan las versiones de actualización y de instantáneas de los paquetes. Puedes especificar una política de versión para crear una instantánea o un repositorio de versiones.

Para crear un repositorio que almacene instantáneas y versiones, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Para almacenar versiones de actualización y de instantáneas en diferentes repositorios, especifica la política de la versión en el comando:

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

Las siguientes marcas son específicas de los repositorios de Maven:

--version-policy=VERSION-POLICY
Especifica los tipos de paquetes que se almacenarán en el repositorio. Puedes establecer VERSION-POLICY de la siguiente manera:
  • None: Sin política de versiones. Almacena paquetes de actualización y de instantáneas. Si no incluyes la marca --version-policy en tu comando, esta es la configuración predeterminada.
  • Release: Almacena solo paquetes de versión.
  • Snapshot: Almacena solo paquetes de instantáneas.
--allow-snapshot-overwrites
Solo para repositorios de instantáneas. Si especificas esta marca, puedes publicar instantáneas no únicas que reemplacen las versiones existentes en el repositorio.

npm

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Python

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Yum

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Go

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Genérico

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Para la ubicación de cada repositorio en un proyecto, los nombres de los repositorios deben ser únicos.
  • LOCATION: Es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado. Para ver una lista de las ubicaciones compatibles, ejecuta el siguiente comando:

    gcloud artifacts locations list
    
  • DESCRIPTION: Es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.

  • KMS-KEY: Es la ruta de acceso completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Artifact Registry crea el repositorio. Ejecuta el siguiente comando para ver una descripción del repositorio:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Después de crear el repositorio, haz lo siguiente:

Crea un repositorio con Terraform

Usa el recurso google_artifact_registry_repository para crear repositorios. Se requiere terraform-provider-google versión 5.0.0 o posterior.

Si es la primera vez que usas Terraform para Google Cloud, consulta la página Primeros pasos: Google Cloud en el sitio web de HashiCorp.

En el siguiente ejemplo, se define el proveedor y un repositorio con el nombre del recurso de 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"
}

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por 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"
}

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

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

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

Maven

Si no especificas una política de versión, Artifact Registry crea un repositorio de Maven que almacena versiones de actualización y resumen de paquetes de forma predeterminada.

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

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

Si quieres almacenar versiones de actualización y de instantáneas en diferentes repositorios, especifica una política de versiones para el repositorio con un bloque maven_config. Este bloque admite la siguiente configuración:

  • version_policy establece la política de la versión con uno de los siguientes valores:
    • VERSION_POLICY_UNSPECIFIED: Almacena paquetes de actualización y de instantáneas. Esta es la configuración predeterminada.
    • LANZAMIENTO: Almacena solo paquetes de versión.
    • SNAPSHOT: Almacena solo paquetes de instantáneas.
  • allow_snapshot_overwrites configura un repositorio con una política de versión SNAPSHOT para aceptar instantáneas no únicas que reemplacen las versiones existentes en el repositorio.

En el siguiente ejemplo, se define un repositorio de Maven con una política de versiones de actualización.

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

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por 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"
}

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

Artifact Registry crea el repositorio. Ejecuta el siguiente comando para ver una descripción del repositorio:

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

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por 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"
}

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

Genérico

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

Reemplaza lo siguiente:

  • PROJECT-ID: el ID del proyecto de Google Cloud.
  • LOCATION: Es la ubicación del repositorio.
  • REPOSITORY: Es el nombre del repositorio.
  • DESCRIPTION: Es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones del repositorio no están encriptadas.
  • KEY: Es el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

Después de crear el repositorio, haz lo siguiente:

Edita las descripciones del repositorio

Puedes cambiar la descripción del repositorio desde la consola de Google Cloud o la gcloud CLI.

Console

  1. Abre la página Repositorios en la consola de Google Cloud.

    Abrir la página Repositorios

  2. En la lista de repositorios, selecciona el repositorio y haz clic en Editar repositorio.

  3. Edita la descripción del repositorio y haz clic en Guardar.

gcloud

Para actualizar la descripción del repositorio, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • REPOSITORY: Es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • PROJECT: el ID del proyecto de Google Cloud. Si se omite esta marca, se usa el proyecto actual o predeterminado.
  • LOCATION: Es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.
  • DESCRIPTION: Es una descripción para el repositorio.

¿Qué sigue?