Almacena paquetes de RPM en Artifact Registry

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

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

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

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Artifact Registry.

    Habilita la API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita la API de Artifact Registry.

    Habilita la API

Inicia Cloud Shell

Cloud Shell viene preinstalado con Google Cloud CLI. La gcloud CLI proporciona la interfaz de línea de comandos principal para 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 a fin de crear una VM y un repositorio.

Crear un repositorio

Crea el repositorio para tus artefactos.

  1. Crea el repositorio:

    Consola

    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 Delicioso como el formato.

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

    6. Haz clic en Crear.

    El repositorio se agrega a la lista de repositorios.

    gcloud

    1. En Cloud Shell, ejecuta el siguiente comando para crear un repositorio de Yum nuevo en el proyecto actual llamado quickstart-yum-repo en la 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 puedes importar un paquete almacenado en Cloud Storage. Si compilas paquetes con Cloud Build, la compilación puede almacenar los paquetes en Cloud Storage para que los importes.

Para esta guía de inicio rápido, debes subir 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 tus 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 de archivo del paquete. El nombre de 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 repositorio:

    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 agregó al repositorio.

Consola

  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 siguiente comando:

 gcloud artifacts packages list

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

gcloud artifacts versions list --package=nano

Cómo crear 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 llamada 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 en 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. Vaya 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 sesión de terminal en la VM.

  3. Actualiza Yum:

    sudo yum makecache
    
  4. Instala el auxiliar de credenciales de Yum en la VM para permitir que Yum realice autenticación; para ello, usa el siguiente comando:

    sudo yum install yum-plugin-artifact-registry
    
  5. Configura tu VM para acceder a los paquetes de Artifact Registry mediante el siguiente comando:

    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 se parece 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 se usaron 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:

Consola

  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?