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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Ve a la Google Cloud consola.
En la Google Cloud consola, haz clic en Activar Cloud Shell
.
Crea el repositorio:
Consola
Abre la página Repositorios en la consola de Google Cloud .
Haz clic en Crear repositorio.
Especifica
quickstart-yum-repo
como nombre del repositorio.Selecciona Yum como formato.
En Tipo de ubicación, selecciona Región y, a continuación, elige la ubicación
us-west1
.Haz clic en Crear.
El repositorio se añade a la lista de repositorios.
gcloud
En Cloud Shell, ejecuta el siguiente comando para crear un repositorio de Yum en el proyecto actual llamado
quickstart-yum-repo
en la ubicaciónus-west1
.gcloud artifacts repositories create quickstart-yum-repo \ --repository-format=yum \ --location=us-west1 \ --description="Yum repository"
Ejecuta el siguiente comando para verificar que se ha creado el repositorio:
gcloud artifacts repositories list
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 anano-2.3.1-10.el7.x86_64.rpm
.Para simplificar los comandos de
gcloud
, define el repositorio predeterminado comoquickstart-yum-repo
y la ubicación predeterminada comous-west1
. Una vez definidos los valores, no es necesario especificarlos en los comandosgcloud
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 us-west1
Para obtener más información sobre estos comandos, consulta la documentación de gcloud config set.
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.Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, haz clic en el repositorio quickstart-yum-repo.
En la página Paquetes se muestran los paquetes del repositorio.
Ve a la página Instancias de VM.
En la fila de tu máquina virtual, haz clic en SSH. Se abrirá una ventana con una sesión de terminal en la VM.
Actualizar Yum:
sudo yum makecache
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
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://us-west1-yum.pkg.dev/projects/PROJECT/quickstart-yum-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOF
Sustituye PROJECT por el Google Cloud ID de tu proyecto.
Actualiza la lista de paquetes disponibles:
sudo yum makecache
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!
Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, selecciona el repositorio quickstart-yum-repo.
Haz clic en Eliminar.
Para eliminar el repositorio
quickstart-yum-repo
, ejecuta el siguiente comando:gcloud artifacts repositories delete quickstart-yum-repo
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
- Consulta información sobre cómo trabajar con paquetes RPM.
- Consulta información sobre DevOps y descubre el programa de investigación de DevOps.
Abrir Cloud Shell
Cloud Shell tiene preinstalada la CLI de Google Cloud. La CLI de gcloud proporciona la interfaz de línea de comandos principal de Google Cloud.
Abre Cloud Shell:
Se abrirá una sesión de Cloud Shell en un marco de la parte inferior de la consola.
Usarás este shell para ejecutar los comandos gcloud
y crear una VM y un repositorio.
Crear un repositorio
Crea el repositorio de tus artefactos.
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. Si compilas paquetes con Cloud Build, la compilación puede almacenar los paquetes en Cloud Storage para que los importes.En esta guía de inicio rápido, subirás un archivo de ejemplo con el comando gcloud artifacts yum
upload
.
Ver el paquete en el repositorio
Comprueba que el paquete se ha añadido al repositorio.
Consola
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.
Instalar el paquete
Instala el paquete que has añadido al repositorio.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google 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
gcloud
Para eliminar la VM que has creado, ejecuta el siguiente comando:
gcloud compute instances delete quickstart-yum-vm