Crea y administra repositorios

En esta página, se describe cómo agregar, ver y borrar repositorios de Artifact Registry.

Antes de comenzar

  1. Habilita Artifact Registry, incluida la habilitación de la API de Artifact Registry y la instalación del SDK de Cloud.
  2. (Opcional) Configura valores predeterminados para los comandos de gcloud.

Descripción general

Debes crear un repositorio para poder subir artefactos. Cada repositorio puede contener artefactos para un formato compatible único.

Todo el contenido del repositorio se encripta mediante claves de encriptación administradas por el cliente o por Google. De forma predeterminada, Artifact Registry usa claves de encriptación administradas por Google y no se requiere ninguna configuración para esta opción.

Configura CMEK para repositorios

De forma predeterminada, Google Cloud encripta los datos cuando están en reposo de manera automática con claves de encriptación administradas por Google que administras en Cloud Key Management Service (KMS). Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes crear repositorios que usen claves de encriptación administradas por el cliente (CMEK) para encriptar el contenido del repositorio.

Antes de crear un repositorio que desees encriptar con CMEK, debes crear y habilitar una clave en Cloud KMS. Luego, puedes asignar la clave al repositorio cuando la crees.

No puedes cambiar el mecanismo de encriptación de un repositorio existente. Si tienes un repositorio encriptado mediante una CMEK, no puedes cambiar el mecanismo de encriptación a la encriptación predeterminada de Google ni asignar una clave de Cloud KMS diferente para la encriptación.

Crea repositorios

Cuando creas un repositorio, debes elegir la siguiente configuración:

No puedes cambiar esta configuración después de crear el repositorio.

En la siguiente tabla, se resumen los formatos de artefactos disponibles, el repositorio correspondiente al formato y el valor que se usará para crear el repositorio con la herramienta de línea de comandos de gcloud.

Artefacto Formato del repositorio Configuración de gcloud
Imágenes de contenedor o gráficos de Helm Docker docker
Paquetes Java Maven maven
Paquetes de Node.js npm npm
Paquetes de Python Python python
Paquetes de Debian (vista previa) APT apt
Paquetes de RPM (vista previa) Yum yum

Para crear y configurar un repositorio nuevo, haz lo siguiente:

  1. Si usas CMEK para encriptar los datos del repositorio, crea la clave que usarás con este repositorio y otórgale permisos para usarla. Consulta Cómo habilitar claves de encriptación administradas por el cliente.

  2. Agrega el repositorio.

    Console

    1. Abre la página Repositorios en Cloud Console.

      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. Especifica el formato del repositorio.

    5. Si creas un repositorio de Maven, configura la política de la versión del repositorio.

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

        • Ninguna: ninguna política de versión Almacena paquetes de instantáneas y actualizaciones.
        • Versión: Almacena solo los paquetes de lanzamiento.
        • Instantánea: Almacena solo paquetes de instantáneas.
      2. Si quieres que el repositorio acepte instantáneas no únicas que reemplacen las versiones existentes en el repositorio, selecciona Permitir reemplazo de instantáneas.

    6. 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 ubicación y las ubicaciones compatibles, consulta Ubicaciones de repositorios.

    7. 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.

    8. Si deseas 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.

    9. 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.
    10. Haga clic en Crear.

    gcloud

    Ejecuta el comando para crear un repositorio nuevo.

    gcloud artifacts repositories create REPOSITORY \
        --repository-format=FORMAT \
        [--location=LOCATION] \
        [--description="DESCRIPTION"] \
        [--kms-key=KMS-KEY] \
        [--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.
    • FORMAT es el formato del repositorio.
    • 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 de acceso tiene el siguiente formato:

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

      Donde

      • KMS-PROJECT es el proyecto en el que se almacena la 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.
    • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

    De forma predeterminada, los repositorios de Maven almacenan las versiones de instantánea y actualización de los paquetes. Si deseas almacenar versiones de instantáneas y actualizaciones en diferentes repositorios, especifica la política de versión para el repositorio cuando la crees.

    gcloud artifacts repositories create REPOSITORY \
        --repository-format=FORMAT \
        [--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 deben almacenar en el repositorio. Puedes configurar VERSION-POLICY como se muestra a continuación:
    • None: No hay política de versión. Almacena paquetes de instantáneas y actualizaciones. Si no incluyes la marca --version-policy en el comando, esta es la configuración predeterminada.
    • Release: Almacena únicamente paquetes de lanzamiento.
    • Snapshot: Almacena solo paquetes de instantáneas.
    --allow-snapshot-overwrites

    Si especificas esta marca, puedes publicar instantáneas no únicas que reemplacen las versiones existentes en el repositorio.

    Terraform

    Si deseas obtener información sobre cómo usar Terraform para aprovisionar repositorios y otorgar permisos de repositorio, consulta Integra con Terraform.

  3. Otorga permisos para acceder al repositorio.

    Si otorgaste cualquiera de las funciones de Artifact Registry a nivel de proyecto, los repositorios del proyecto heredan estas funciones. Si quieres que los miembros del equipo tengan diferentes niveles de acceso a los repositorios del proyecto, otorga funciones a nivel del repositorio.

  4. A fin de interactuar con los repositorios de Docker o los administradores de paquetes, debes configurar la autenticación para esas herramientas. Consulta la página adecuada:

Etiqueta repositorios

Una etiqueta es un par clave-valor que puedes usar para identificar y agrupar repositorios relacionados, como stage:production o team:development. Para obtener más información, consulta Crea y administra etiquetas.

Actualiza la descripción del repositorio

Puedes actualizar la descripción de un repositorio existente mediante el siguiente comando:

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

WHERE

  • REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • PROJECT es 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 del repositorio.

Para obtener más información sobre el comando, ejecuta el siguiente comando:

 gcloud artifacts repositories update --help

Ve repositorios

Puedes ver los repositorios dentro de un proyecto de Google Cloud.

Para ver una lista de repositorios, haz lo siguiente:

Console

Abre la página Repositorios en Cloud Console.

Abrir la página Repositorios

En la página, se muestra una lista de tus repositorios.

Para filtrar la lista de repositorios de Artifact Registry, haz lo siguiente:

  1. Arriba de la lista del repositorio, haz clic en Filtrar tabla.
  2. Elige un filtro de la lista correspondiente.
  3. Especifica el valor que deseas usar para filtrar la lista.

gcloud

Para enumerar los repositorios existentes, ejecuta el siguiente comando:

gcloud artifacts repositories list [--project=PROJECT] \
[--location=LOCATION]

Para ver el tipo de encriptación configurado de un repositorio, ejecuta el siguiente comando:

gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] [--location=LOCATION]

En estos comandos, reemplaza los siguientes valores:

  • PROJECT es el ID del proyecto. Si se omite esta marca, se usa el proyecto actual o predeterminado.
  • REPOSITORY es el nombre del repositorio.
  • LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. También puedes usar --location=all para enumerar los repositorios de todas las ubicaciones.

    Si omites esta marca, el comando usa la ubicación predeterminada, si se configuró una. De lo contrario, omitir esta marca enumera los repositorios de todas las ubicaciones.

Para obtener más información sobre el comando, ejecuta el siguiente comando:

 gcloud artifacts repositories list --help

Borra repositorios

Antes de quitar un repositorio, asegúrate de que los paquetes que quieres conservar estén disponibles en otra ubicación.

Sigue los pasos a continuación para borrar un repositorio:

Console

  1. Abre la página Repositorios en Cloud Console.

    Abrir la página Repositorios

  2. En la lista de repositorios, selecciona el repositorio que deseas borrar.

  3. Haz clic en Borrar.

gcloud

Para borrar un repositorio, ejecuta el siguiente comando:

gcloud artifacts repositories delete REPOSITORY \
[--location=LOCATION] [--async]

Donde

  • REPOSITORY es el nombre del repositorio.
  • LOCATION es la ubicación regional o multirregional del repositorio. Puedes omitir esta marca si estableces un valor predeterminado.
  • --async se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Para obtener más información sobre el comando, ejecuta el siguiente comando:

 gcloud artifacts repositories delete --help

¿Qué sigue?

  • Configura el acceso a tus repositorios.