Almacenar paquetes RPM en Artifact Registry

En esta guía de inicio rápido se muestra cómo configurar un repositorio Yum privado de Artifact Registry, añadir un paquete RPM al repositorio e instalar el paquete en una VM de Compute Engine que ejecute el sistema operativo CentOS 7. Para obtener información sobre cómo configurar repositorios de Yum que usen DNF, consulta Configurar máquinas virtuales para instalar paquetes RPM.

Para obtener más información sobre cómo gestionar paquetes RPM, consulta Trabajar con paquetes RPM.

Antes de empezar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Artifact Registry API.

    Enable the API

  4. Instalar gcloud CLI

    1. Instala e inicializa Google Cloud CLI si aún no lo has hecho. Si ya tienes la CLI de Google Cloud instalada, actualiza sus componentes con el siguiente comando:

      gcloud components update
      

      Para comprobar la versión de gcloud CLI que tienes, ejecuta el siguiente comando:

      gcloud version
      

    Crear un repositorio

    Crea el repositorio de tus artefactos.

    1. Crea el repositorio:

      Consola

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

        Abre la página Repositorios.

      2. Haz clic en Crear repositorio.

      3. Especifica quickstart-yum-repo como nombre del repositorio.

      4. Selecciona Yum como formato.

      5. En Tipo de ubicación, selecciona Región y, a continuación, elige la ubicación. u-france-east1

      6. Haz clic en Crear.

      El repositorio se añade a la lista de repositorios.

      gcloud

      1. En Cloud Shell, ejecuta el siguiente comando para crear un repositorio de Yum en el proyecto actual llamado quickstart-yum-repo en la ubicación u-france-east1.

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

        gcloud artifacts repositories list
        

    Ahora puedes añadir un paquete al repositorio.

    Añadir un paquete al repositorio

    Puedes subir un paquete a un repositorio mediante la CLI de Google Cloud o importar un paquete almacenado en Cloud Storage.

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

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

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

      Yum descarga la última versión del paquete 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 de 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, define el repositorio predeterminado como quickstart-yum-repo y la ubicación predeterminada como u-france-east1. Una vez definidos los valores, no es necesario especificarlos en los comandos gcloud que requieran un repositorio o una ubicación.

      Para definir el repositorio, ejecuta el comando:

      gcloud config set artifacts/repository quickstart-yum-repo
      

      Para definir la ubicación, ejecuta el comando:

      gcloud config set artifacts/location u-france-east1
      

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

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

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

      Sustituye FILE_NAME por la ruta al paquete nano.

    Ver el paquete en el repositorio

    Comprueba que el paquete se haya añadido al repositorio.

    Consola

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

      Abre la página Repositorios.

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

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

    gcloud

    Para ver los paquetes del 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
    

    Crear VM

    Crea una instancia de VM de Compute Engine en la que instalarás el paquete de ejemplo.

    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 ámbitos de acceso necesarios para trabajar con el repositorio. La marca --scopes define el ámbito de acceso de la VM como cloud-platform.

    Configurar el gestor de paquetes

    Para instalar un paquete en la VM, añade el repositorio que has creado al archivo Yum que define los repositorios de paquetes.

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

      Abre la página Instancias de VM.

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

    3. Actualizar Yum:

      sudo yum makecache
      
    4. Instala el asistente de credenciales de Yum en la VM para que Yum pueda realizar la 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 con el siguiente comando:

      sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
      [yum-quickstart]
      name=My Repository
      baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/PROJECT/quickstart-yum-repo
      enabled=1
      repo_gpgcheck=0
      gpgcheck=0
      EOF
      

      Sustituye PROJECT por el Trusted Cloud by S3NS ID de tu proyecto.

    Instalar el paquete

    Instala el paquete que has añadido 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
      

      Introduce y cuando se te pida.

      La información de instalación devuelta 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!
      

    Limpieza

    Para evitar que se apliquen cargos en tu cuenta de Trusted Cloud por los recursos utilizados en esta página, sigue estos pasos.

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

    Para eliminar el repositorio, sigue estos pasos:

    Consola

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

      Abre la página Repositorios.

    2. En la lista de repositorios, selecciona el repositorio quickstart-yum-repo.

    3. Haz clic en Eliminar.

    gcloud

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

      gcloud artifacts repositories delete quickstart-yum-repo
      
    2. Si quieres quitar los ajustes predeterminados de repositorio y ubicación que has configurado para la configuración gcloud activa, ejecuta los siguientes comandos:

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

    Para eliminar la VM que has creado, ejecuta el siguiente comando:

    gcloud compute instances delete quickstart-yum-vm
    

    Siguientes pasos