Configurer des VM pour installer des packages Debian

Cette page décrit comment configurer des VM pour installer des packages Debian à partir d'un dépôt d'objets Artifact Registry.

Avant de commencer

Si le dépôt Apt cible n'existe pas, créez un dépôt. Vous pouvez créer un dépôt privé ou un dépôt public ne nécessitant pas d'authentification.

Préparer une VM pour accéder à un dépôt Apt

Dépôt privé

  1. 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.
    • Pour les autres VM, créez ou choisissez un compte de service agissant pour le compte de votre VM. Vous aurez besoin de l'emplacement du fichier de clé du 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.
  2. Accordez des autorisations d'accès au dépôt à votre compte de service.

  3. Préparez la VM pour accéder au dépôt.

    VM Compute Engine

    VM Debian

    1. Attribuez des champs d'application d'accès à l'API cloud-platform à la VM. Pour en savoir plus sur la définition des champs d'application d'accès, consultez la section Modifier le compte de service et les champs d'application d'accès d'une instance.

    2. 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 -
      

      Remplacez LOCATION par l'emplacement du dépôt.

    3. Mettez à jour Apt à l'aide de la commande suivante:

      sudo apt update
      
    4. Installez le package apt-transport-artifact-registry sur la VM:

      sudo apt install apt-transport-artifact-registry
      

    VM Ubuntu

    1. Attribuez des champs d'application d'accès à l'API cloud-platform à la VM. Pour en savoir plus sur la définition des champs d'application d'accès, consultez la section Modifier le compte de service et les champs d'application d'accès d'une instance.

    2. 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 du dépôt.

    3. 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
      
    4. Mettez à jour Apt à l'aide de la commande suivante:

      sudo apt update
      
    5. Installez le package apt-transport-artifact-registry sur la VM:

      sudo apt install apt-transport-artifact-registry
      

    Autre VM

    1. 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 du dépôt.

    2. 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
      
    3. Mettez à jour Apt à l'aide de la commande suivante:

      sudo apt update
      
    4. Installez le package apt-transport-artifact-registry sur la VM:

      sudo apt install apt-transport-artifact-registry
      
    5. Recherchez la ligne #Service-Account-JSON "/path/to/creds.json"; dans le fichier /etc/apt/apt.conf.d/90artifact-registry, puis annulez la mise en commentaire de la ligne et ajoutez le chemin d'accès de 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 votre clé de compte de service.

Dépôt public

  1. Configurez l'accès public au dépôt.

  2. Si vous configurez une VM en dehors de Google 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é de validation de signature publique à 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 du dépôt.

  3. Mettez à jour Apt à l'aide de la commande suivante:

    sudo apt update
    

Configurer une VM pour accéder à un dépôt Apt

Dépôt privé

  1. Configurez Apt pour récupérer les packages de votre dépôt à l'aide de la commande suivante:

    echo 'deb ar+https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Remplacez les éléments suivants :

    • LOCATION est un emplacement régional ou multirégional.
    • PROJECT est l'ID de votre projet Google Cloud.
    • REPOSITORY est le nom du dépôt Artifact Registry.

    Par exemple, pour installer des packages à partir du dépôt my-repo dans le projet my-project et à l'emplacement us-central1, ajoutez la ligne suivante:

    deb ar+https://us-central1-apt.pkg.dev/projects/my-project my-repo main
    
  2. Mettez à jour vos sources de dépôt à l'aide de la commande suivante:

    sudo apt update
    

Dépôt public

  1. Configurez Apt pour récupérer les packages de votre dépôt à l'aide de la commande suivante:

    echo 'deb https://LOCATION-apt.pkg.dev/projects/PROJECT REPOSITORY main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    

    Remplacez les éléments suivants :

    • LOCATION est un emplacement régional ou multirégional.
    • PROJECT est l'ID de votre projet Google Cloud.
    • REPOSITORY est le nom du dépôt Artifact Registry.

    Par exemple, pour installer des packages à partir du dépôt my-repo dans le projet my-project et à l'emplacement us-central1, ajoutez la ligne suivante:

    deb https://us-central1-apt.pkg.dev/projects/my-project my-repo main
    
  2. Mettez à jour vos sources de 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 de dépôts.

Étape suivante