Almacena paquetes RPM en Artifact Registry

En esta guía de inicio rápido, se muestra cómo configurar una Yum privada de Artifact Registry agregar un paquete de RPM al repositorio y, luego, instalar el paquete en una VM de Compute Engine que ejecuta el sistema operativo CentOS 7. Si deseas obtener información para configurar los repositorios de Yum que usan DNF, consulta Configura VMs para instalar paquetes RPM.

En esta guía de inicio rápido, realizarás los pasos con Cloud Shell y en la shell de la VM que crees en esta guía.

Para obtener más información sobre cómo administrar paquetes de RPM, consulta Cómo trabajar con paquetes de RPM.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

Inicia Cloud Shell

Cloud Shell ya viene instalado con Google Cloud CLI. gcloud CLI proporciona la línea de comandos principal de Google Cloud.

Iniciar Cloud Shell:

  1. Ve a la consola de Google Cloud.

    Consola de Google Cloud

  2. En la barra de herramientas de la consola de Google Cloud, haz clic en Activar Cloud Shell:

Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola. Usarás esta shell para ejecutar los comandos de gcloud y crear una VM y un en un repositorio de confianza.

Crea un repositorio

Crea el repositorio para tus artefactos.

  1. Crea el repositorio:

    Console

    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 quickstart-yum-repo como el nombre del repositorio.

    4. Selecciona Yum como el formato.

    5. En Tipo de ubicación, selecciona Región y, luego, elige la ubicación us-central1.

    6. Haga clic en Crear.

    El repositorio se agrega a la lista de repositorios.

    gcloud

    1. En Cloud Shell, ejecuta el siguiente comando para crear una nueva Yum repositorio en el proyecto actual llamado quickstart-yum-repo en el ubicación us-central1.

      gcloud artifacts repositories create quickstart-yum-repo \
          --repository-format=yum \
          --location=us-central1 \
          --description="Yum repository"
      
    2. Ejecuta el siguiente comando para verificar que se haya creado el repositorio:

      gcloud artifacts repositories list
      

Ahora puedes agregar un paquete al repositorio.

Agrega un paquete al repositorio

Puedes subir un paquete a un repositorio con Google Cloud CLI o importar un paquete que se almacena en Cloud Storage. Si compilas paquetes con Cloud Build, la compilación puede almacenarlos en Cloud Storage para que los importes.

En esta guía de inicio rápido, subirás un archivo de muestra con el comando gcloud artifacts yum upload.

  1. En Cloud Shell, descarga el editor de texto nano con el siguiente comando:

    sudo yum install --downloaddir=. --downloadonly nano
    

    Yum descarga la versión más reciente del paquete que está disponible en los repositorios de CentOS configurados.

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.dal.nexril.net
     * epel: ord.mirror.rackspace.com
     * extras: centos.mirror.lstn.net
     * updates: ftpmirror.your.org
    Resolving Dependencies
    --> Running transaction check
    ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package        Arch             Version                   Repository      Size
    ================================================================================
    Installing:
     nano           x86_64           2.3.1-10.el7              base           440 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total download size: 440 k
    Installed size: 1.6 M
    Background downloading packages, then exiting:
    nano-2.3.1-10.el7.x86_64.rpm                               | 440 kB   00:00
    exiting because "Download Only" specified
    

    Ejecuta ls para obtener el nombre del archivo del paquete. El nombre del archivo es similar a nano-2.3.1-10.el7.x86_64.rpm

  2. Para simplificar los comandos de gcloud, configura el repositorio predeterminado como quickstart-yum-repo y la ubicación predeterminada como us-central1. Una vez configurados los valores, no necesitas especificarlos en los comandos de gcloud que requieren un repositorio o una ubicación.

    Para configurar el repositorio, ejecuta el siguiente comando:

    gcloud config set artifacts/repository quickstart-yum-repo
    

    Para configurar la ubicación, ejecuta el siguiente comando:

    gcloud config set artifacts/location us-central1
    

    Para obtener más información sobre estos comandos, consulta la documentación de establecimiento de la configuración de gcloud.

  3. Ejecuta gcloud artifacts yum upload para subir el paquete al siguiente:

    gcloud artifacts yum upload quickstart-yum-repo \
        --source=FILE_NAME
    

    Reemplaza FILE_NAME por la ruta de acceso al paquete nano.

Visualiza el paquete en el repositorio

Verifica que tu paquete se haya agregado al repositorio.

Console

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

    Abrir la página Repositorios

  2. En la lista de repositorios, haz clic en el repositorio quickstart-yum-repo.

    En la página Paquetes, se enumeran los paquetes del repositorio.

gcloud

Para mostrar una lista de los paquetes en el repositorio quickstart-yum-repo, ejecuta el comando:

 gcloud artifacts packages list

Para ver las versiones de un paquete en quickstart-yum-repo, ejecuta el comando:

gcloud artifacts versions list --package=nano

Crea una VM

Crea una VM de Compute Engine nueva en la que instalarás el paquete de muestra.

En Cloud Shell, ejecuta el siguiente comando para crear una instancia de VM con el nombre quickstart-yum-vm.

gcloud compute instances create quickstart-yum-vm \
    --image-family=centos-7 \
    --image-project=centos-cloud \
    --scopes=cloud-platform

De forma predeterminada, la VM no tiene los permisos de acceso necesarios para trabajar con el repositorio. La marca --scopes establece el permiso de acceso para la VM a cloud-platform.

Cómo configurar el administrador de paquetes

Para instalar un paquete en la VM, agrega el repositorio que creaste al archivo Yum que define los repositorios de paquetes.

  1. Ve a la página Instancias de VM.

    Abrir la página Instancias de VM

  2. En la fila de tu VM, haz clic en SSH. Se abrirá una ventana nueva con una terminal en la VM.

  3. Actualiza Yum:

    sudo yum makecache
    
  4. Instala el asistente de credenciales de Yum en la VM para permitir que Yum realice la autenticación con el siguiente comando:

    sudo yum install yum-plugin-artifact-registry
    
  5. Configura tu VM para acceder a los paquetes de Artifact Registry con las siguientes opciones: :

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
    [yum-quickstart]
    name=My Repository
    baseurl=https://us-central1-yum.pkg.dev/projects/PROJECT/quickstart-yum-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    

    Reemplaza PROJECT por el ID del proyecto de Google Cloud.

Instale el paquete

Instala el paquete que agregaste al repositorio.

  1. Actualiza la lista de paquetes disponibles:

    sudo yum makecache
    
  2. Instala el paquete en tu repositorio.

    sudo yum --enablerepo=yum-quickstart install nano
    

    Ingresa y cuando se te solicite.

    La información de instalación que se muestra es similar al siguiente ejemplo:

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.cmich.edu
     * epel: ord.mirror.rackspace.com
     * extras: mirror.team-cymru.com
     * updates: mirror.us-midwest-1.nexcess.net
    quickstart-yum-repo                                      | 1.3 kB     00:00
    Resolving Dependencies
    --> Running transaction check
    ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package        Arch             Version                   Repository      Size
    ================================================================================
    Installing:
     nano           x86_64           2.3.1-10.el7              base           440 k
    
    Transaction Summary
    ================================================================================
    Install  1 Package
    
    Total size: 440 k
    Installed size: 1.6 M
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : nano-2.3.1-10.el7.x86_64                                     1/1
      Verifying  : nano-2.3.1-10.el7.x86_64                                     1/1
    
    Installed:
      nano.x86_64 0:2.3.1-10.el7
    
    Complete!
    

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

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

Para borrar el repositorio, haz lo siguiente:

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 quickstart-yum-repo.

  3. Haz clic en Borrar.

gcloud

  1. Para borrar el repositorio quickstart-yum-repo, ejecuta el siguiente comando:

    gcloud artifacts repositories delete quickstart-yum-repo
    
  2. Si deseas quitar la configuración predeterminada de la ubicación y del repositorio que estableciste para la configuración activa de gcloud, ejecuta los siguientes comandos:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

Para borrar la VM que creaste, ejecuta el siguiente comando:

gcloud compute instances delete quickstart-yum-vm

¿Qué sigue?