Cette page explique comment configurer des VM pour installer des packages Debian à partir d'un dépôt Apt Artifact Registry.
Avant de commencer
Si le dépôt Apt cible n'existe pas, créez un dépôt standard. Vous pouvez créer un dépôt privé ou un dépôt public qui ne nécessite pas d'authentification.Préparer une VM pour accéder à un dépôt Apt
Dépôt privé
Choisissez le compte de service que vous utiliserez pour accorder l'accès.
- Pour les VM Compute Engine, il peut s'agir du compte de service par défaut. Artifact Registry récupère automatiquement les identifiants du compte de service de la VM Compute Engine pour toute VM utilisant un compte de service.
- Pour les autres VM, créez ou sélectionnez un compte de service pour agir au nom de votre VM. Vous aurez besoin de l'emplacement du fichier de clé de compte de service pour configurer la VM. Vous pouvez afficher et créer des clés pour les comptes existants sur la page Comptes de service.
Accordez des autorisations d'accès au dépôt à votre compte de service.
Préparez la VM pour accéder au dépôt.
VM Compute Engine
VM Debian
Attribuez les niveaux d'accès aux API
cloud-platform
à la VM. Pour en savoir plus sur la définition des niveaux d'accès, consultez Modifier le compte de service et les niveaux d'accès d'une instance.Mettez à jour Apt à l'aide de la commande suivante :
sudo apt update
Installez le package
apt-transport-artifact-registry
sur la VM :sudo apt install apt-transport-artifact-registry
VM Ubuntu
Installez les clés de signature du dépôt Apt à l'aide de la commande suivante :
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Remplacez
LOCATION
par l'emplacement régional du dépôt.Attribuez les niveaux d'accès aux API
cloud-platform
à la VM. Pour en savoir plus sur la définition des niveaux d'accès, consultez Modifier le compte de service et les niveaux d'accès d'une instance.Configurez votre VM pour accéder aux packages Artifact Registry à l'aide de la commande suivante :
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Mettez à jour Apt à l'aide de la commande suivante :
sudo apt update
Installez le package
apt-transport-artifact-registry
sur la VM :sudo apt install apt-transport-artifact-registry
Autre VM
Installez les clés de signature du dépôt Apt à l'aide de la commande suivante :
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Remplacez
LOCATION
par l'emplacement régional du dépôt.Configurez votre VM pour accéder aux packages Artifact Registry à l'aide de la commande suivante :
echo 'deb http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Mettez à jour Apt à l'aide de la commande suivante :
sudo apt update
Installez le package
apt-transport-artifact-registry
sur la VM :sudo apt install apt-transport-artifact-registry
Recherchez la ligne
#Service-Account-JSON "/path/to/creds.json";
dans le fichier/etc/apt/apt.conf.d/90artifact-registry
, puis supprimez le commentaire de la ligne et ajoutez le chemin d'accès à la clé de votre compte de service.Entrée du fichier de configuration :
Service-Account-JSON "PATH_TO_SERVICE_ACCOUNT_KEY";
Remplacez
PATH_TO_SERVICE_ACCOUNT_KEY
par le chemin d'accès au fichier JSON de clé de votre compte de service.
Dépôt public
Configurez l'accès public au dépôt.
Si vous configurez une VM en dehors de Trusted Cloud, préparez votre machine pour accéder au dépôt. Si vous configurez une VM Compute Engine, passez à l'étape suivante.
Installez la clé publique de validation de signature à l'aide de la commande suivante :
curl https://LOCATION-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
Remplacez
LOCATION
par l'emplacement régional du dépôt.Mettez à jour Apt à l'aide de la commande suivante :
sudo apt update
Configurer une VM pour accéder à un dépôt Apt standard
Configurez une VM pour accéder à un dépôt Apt :
Générez la commande de configuration de la VM en exécutant la commande
gcloud beta artifacts print-settings apt
:gcloud beta artifacts print-settings apt \ --repository=REPOSITORY \ --location=LOCATION
Remplacez les éléments suivants :
-
LOCATION
est l'emplacement régional du dépôt. REPOSITORY
est le nom du dépôt Artifact Registry.
Le résultat ressemble à ce qui suit :
# To configure your package manager with this repository: # Update Apt: sudo apt update # Install the Apt credential helper: sudo apt install apt-transport-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: echo "deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list # Update Apt: sudo apt update
-
Configurez Apt pour extraire les packages de votre dépôt à l'aide de la commande
echo
à partir du résultat de la commandeprint-settings
.Par exemple, pour installer des packages à partir du dépôt public
my-repo
dans le projetmy-project
et à l'emplacementu-france-east1
, utilisez la commande suivante :echo 'deb ar+https://u-france-east1-apt.pkg.dev/projects/my-project my-repo main'
Mettez à jour les sources de votre dépôt à l'aide de la commande suivante :
sudo apt update
Apt peut désormais se connecter au dépôt.
Si vous créez des dépôts Apt supplémentaires, vous pouvez les ajouter au fichier artifact-registry.list
, puis réexécuter sudo apt update
pour mettre à jour les sources des dépôts.
Configurer l'accès HTTP à un dépôt Apt
Si vous utilisez d'anciens outils clients qui ne sont pas compatibles avec le chiffrement SSL, vous pouvez configurer un accès public à votre dépôt Apt et y accéder via HTTP. Les requêtes envoyées à des dépôts publics en lecture seule à l'aide du protocole HTTP seront refusées si un jeton d'authentification est présenté avec la requête.
Configurez l'accès public au dépôt.
Pour configurer Apt afin qu'il récupère les packages de votre dépôt à l'aide de HTTP, exécutez la commande suivante :
echo 'deb http://LOCATION-apt.pkg.dev/projects/PROJECT_ID \ REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Remplacez les éléments suivants :
-
LOCATION
est l'emplacement régional du dépôt. PROJECT_ID
est l'ID de projet du dépôt.REPOSITORY
est le nom du dépôt.
Par exemple, pour installer des packages à partir du dépôt public
my-repo
dans le projetmy-project
et à l'emplacementu-france-east1
à l'aide de HTTP, utilisez la commande suivante :echo 'deb http://u-france-east1-apt.pkg.dev/projects/my-project my-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
-
Mettez à jour les sources de votre dépôt à l'aide de la commande suivante :
sudo apt update
Apt peut désormais se connecter au dépôt.
Si vous créez des dépôts Apt supplémentaires, vous pouvez les ajouter au fichier artifact-registry.list
, puis réexécuter sudo apt update
pour mettre à jour les sources des dépôts.