Almacena paquetes de Apt en Artifact Registry
En esta guía de inicio rápido, se muestra cómo configurar un repositorio privado de Apt de Artifact Registry, agregar un paquete de Debian al repositorio y, luego, instalar el paquete en una VM de Compute Engine que ejecute un sistema operativo basado en Debian.
Para obtener más información sobre la administración de paquetes de Debian, consulta Trabajar con paquetes de Debian.
Antes de comenzar
- 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles. Ve a la consola de Google Cloud .
En la Google Cloud consola, haz clic en Activar Cloud Shell
.Crea el repositorio:
Console
Abre la página Repositorios en la consola de Google Cloud .
Haz clic en Crear repositorio.
Especifica
quickstart-apt-repocomo el nombre del repositorio.Selecciona Apt como el formato.
En Tipo de ubicación, selecciona Región y, luego, elige la ubicación
us-west1.Haga clic en Crear.
El repositorio se agrega a la lista de repositorios.
gcloud
En Cloud Shell, ejecuta el siguiente comando para crear un nuevo repositorio de Apt en el proyecto actual llamado
quickstart-apt-repoen la ubicaciónus-west1.gcloud artifacts repositories create quickstart-apt-repo \ --repository-format=apt \ --location=us-west1 \ --description="Apt repository"Ejecuta el siguiente comando para verificar que se haya creado el repositorio:
gcloud artifacts repositories list
Ve a la página Instancias de VM.
En la fila con tu VM, haz clic en SSH. Se abrirá una ventana nueva con una sesión de terminal en la VM.
Ejecuta
gcloud initpara inicializar Google Cloud CLI en tu VM.Actualizar departamento:
sudo apt updateDescarga el paquete curl con el siguiente comando:
apt download curlApt descarga la versión más reciente del paquete disponible en los repositorios de Apt configurados.
Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 316 kB in 0s (3078 kB/s)Ejecuta
lspara obtener el nombre de archivo del paquete curl. El nombre del archivo es similar acurl_7.88.1-10+deb12u14_amd64.deb.Para simplificar los comandos de
gcloud, configura el repositorio predeterminado comoquickstart-apt-repoy la ubicación predeterminada comous-west1. Una vez configurados los valores, no necesitas especificarlos en los comandos degcloudque requieren un repositorio o una ubicación.Para configurar el repositorio, ejecuta el siguiente comando:
gcloud config set artifacts/repository quickstart-apt-repoPara configurar la ubicación, ejecuta el siguiente comando:
gcloud config set artifacts/location us-west1Para obtener más información sobre estos comandos, consulta la documentación de establecimiento de la configuración de gcloud.
Ejecuta
gcloud artifacts apt uploadpara subir el paquete al repositorio:gcloud artifacts apt upload quickstart-apt-repo \ --source=FILE_NAMEReemplaza
FILE_NAMEpor la ruta de acceso al paquete curl.Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, haz clic en el repositorio quickstart-apt-repo.
En la página Paquetes, se enumeran los paquetes del repositorio.
Instala el asistente de credenciales de Apt en la VM para permitir que Apt realice la autenticación:
sudo apt install apt-transport-artifact-registryConfigura tu VM para acceder a los paquetes de Artifact Registry:
echo 'deb ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listReemplaza PROJECT por el ID del proyecto de Google Cloud.
Actualiza la lista de paquetes disponibles:
sudo apt updateInstala el paquete desde tu repositorio.
sudo apt install curl/quickstart-apt-repoLa información de instalación que se devuelve se ve como en el siguiente ejemplo:
Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '7.88.1-10+deb12u14' (quickstart-apt-repo:quickstart-apt-repo, Debian:12.12/oldstable [amd64]) for 'curl' The following additional packages will be installed: libcurl3-gnutls libcurl4 The following packages will be upgraded: curl libcurl3-gnutls libcurl4 3 upgraded, 0 newly installed, 0 to remove and 77 not upgraded. Need to get 1093 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 libcurl4 amd64 7.88.1-10+deb12u14 [392 kB] Get:3 https://deb.debian.org/debian bookworm/main amd64 libcurl3-gnutls amd64 7.88.1-10+deb12u14 [386 kB] Get:4 ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 1093 kB in 1s (947 kB/s) Reading changelogs... Done (Reading database ... 72080 files and directories currently installed.) Preparing to unpack .../curl_7.88.1-10+deb12u14_amd64.deb ... Unpacking curl (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl4_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl4:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl3-gnutls_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Setting up libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) ... Setting up libcurl4:amd64 (7.88.1-10+deb12u14) ... Setting up curl (7.88.1-10+deb12u14) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+deb12u10) ...
Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, selecciona el repositorio quickstart-apt-repo.
Haz clic en Borrar.
Para borrar el repositorio
quickstart-apt-repo, ejecuta el siguiente comando:gcloud artifacts repositories delete quickstart-apt-repoSi 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- Obtén más información para trabajar con paquetes Deb.
- Lee sobre DevOps y explora el programa de investigación de DevOps.
Inicia Cloud Shell
Cloud Shell ya viene instalado en Google Cloud CLI. Gcloud CLI proporciona la interfaz de línea de comandos principal para Google Cloud.
Iniciar 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 repositorio.
Crea un repositorio
Crea el repositorio para tus artefactos.
Ahora puedes agregar un paquete al repositorio. Cloud Shell usa una imagen de Ubuntu compilada por Google, no de Debian. Para administrar los paquetes de Debian en el repositorio, usarás una VM que use una imagen de SO de Debian.
Crea una VM
Crea una nueva VM de Compute Engine en la que instalarás el paquete de muestra.
En Cloud Shell, ejecuta el siguiente comando para crear una instancia de VM llamada quickstart-apt-vm:
gcloud compute instances create quickstart-apt-vm \
--image-family=debian-12 \
--image-project=debian-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 de la VM en cloud-platform.
Agrega un paquete al repositorio
Puedes subir un paquete a un repositorio con Google Cloud CLI o importar un paquete almacenado 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 apt upload.
Visualiza el paquete en el repositorio
Verifica que tu paquete se haya agregado al repositorio.
Console
gcloud
Para generar una lista de los paquetes en el repositorio quickstart-apt-repo, ejecuta el siguiente comando:
gcloud artifacts packages list
Para ver las versiones de un paquete en quickstart-apt-repo, ejecuta el siguiente comando:
gcloud artifacts versions list --package=apt-dpkg-ref
Configura el administrador de paquetes
Para instalar un paquete en la VM, agrega el repositorio que creaste al archivo de configuración de Apt que define los repositorios de paquetes.
Instale el paquete
Instala el paquete que agregaste al repositorio.
Realiza una limpieza
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
gcloud
Para borrar la VM que creaste, ejecuta el siguiente comando:
gcloud compute instances delete quickstart-apt-vm