Stocker les packages Apt dans Artifact Registry

Ce guide de démarrage rapide explique comment configurer un dépôt Apt Artifact Registry privé, y ajouter un package Debian et l'installer sur une VM Compute Engine exécutant un système d'exploitation basé sur Debian.

Vous allez effectuer les étapes de ce guide de démarrage rapide à l'aide de Cloud Shell et dans l'interface système de la VM que vous allez créer en suivant les instructions de ce guide.

Pour en savoir plus sur la gestion des packages Debian, consultez la page Utiliser des packages Debian.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Artifact Registry

    Activer l'API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activez l'API Artifact Registry

    Activer l'API

Lancer Cloud Shell

Cloud Shell est préinstallé sur la Google Cloud CLI. gcloud CLI fournit l'interface de ligne de commande principale pour Google Cloud.

Lancez Cloud Shell :

  1. Accédez à Google Cloud Console.

    Google Cloud Console

  2. Dans la barre d'outils de la console Google Cloud, cliquez sur Activer Cloud Shell:

Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Vous utiliserez cette interface système pour exécuter les commandes gcloud permettant de créer une VM et un dépôt.

Créer un dépôt

Créez le dépôt de vos artefacts.

  1. Créez le dépôt :

    Console

    1. Ouvrez la page Dépôts de la console Google Cloud.

      Ouvrir la page "Dépôts"

    2. Cliquez sur Créer un dépôt.

    3. Spécifiez quickstart-apt-repo comme nom de dépôt.

    4. Sélectionnez le format Apt.

    5. Sous Type d'emplacement, sélectionnez Région, puis l'emplacement us-central1.

    6. Cliquez sur Créer.

    Le dépôt est ajouté à la liste des dépôts.

    gcloud

    1. Dans Cloud Shell, exécutez la commande suivante pour créer un dépôt Apt dans le projet actuel, nommé quickstart-apt-repo, à l'emplacement us-central1.

      gcloud artifacts repositories create quickstart-apt-repo \
          --repository-format=apt \
          --location=us-central1 \
          --description="Apt repository"
      
    2. Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé :

      gcloud artifacts repositories list
      

Vous pouvez maintenant ajouter un package au dépôt.

Ajouter un package au dépôt

Vous pouvez importer un package dans un dépôt à l'aide de Google Cloud CLI ou importer un package stocké dans Cloud Storage. Si vous compilez des packages à l'aide de Cloud Build, la compilation peut les stocker dans Cloud Storage pour que vous puissiez les importer.

Pour ce guide de démarrage rapide, vous allez importer un exemple de fichier à l'aide de la commande gcloud artifacts apt upload.

  1. Dans Cloud Shell, téléchargez la fiche de référence rapide sur Apt à l'aide de la commande suivante:

    apt download apt-dpkg-ref
    

    Apt télécharge la dernière version du package disponible à partir des dépôts Apt configurés.

    Get:1 http://deb.debian.org/debian buster/main amd64 apt-dpkg-ref all 5.3.1+nmu2 [113 kB]
    Fetched 113 kB in 0s (428 kB/s)
    

    Exécutez ls pour obtenir le nom de fichier de la fiche de référence rapide d'Apt. Le nom de fichier est semblable à apt-dpkg-ref_5.3.1+nmu2_all.deb.

  2. Pour simplifier les commandes gcloud, définissez le dépôt par défaut sur quickstart-apt-repo et l'emplacement par défaut sur us-central1. Une fois les valeurs définies, vous n'avez pas besoin de les spécifier dans les commandes gcloud nécessitant un dépôt ou un emplacement.

    Pour définir le dépôt, exécutez la commande suivante :

    gcloud config set artifacts/repository quickstart-apt-repo
    

    Pour définir l'emplacement, exécutez la commande suivante :

    gcloud config set artifacts/location us-central1
    

    Pour plus d'informations sur ces commandes, consultez la documentation gcloud config set.

  3. Exécutez la commande gcloud artifacts apt upload pour importer le package dans le dépôt:

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

    Remplacez FILE_NAME par le chemin d'accès à la fiche de référence rapide d'Apt.

Afficher le package dans le dépôt

Vérifiez que votre package a été ajouté au dépôt.

Console

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur le dépôt quickstart-apt-repo.

    La page Packages répertorie les packages du dépôt.

gcloud

Pour répertorier les packages dans le dépôt quickstart-apt-repo, exécutez la commande suivante:

 gcloud artifacts packages list

Pour afficher les versions d'un package dans quickstart-apt-repo, exécutez la commande suivante:

gcloud artifacts versions list --package=apt-dpkg-ref

Créer une VM

créer une VM Compute Engine dans laquelle vous allez installer l'exemple de package ;

Dans Cloud Shell, exécutez la commande suivante pour créer une instance de VM nommée quickstart-apt-vm:

gcloud compute instances create quickstart-apt-vm \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --scopes=cloud-platform

Par défaut, la VM ne dispose pas des niveaux d'accès requis pour travailler avec le dépôt. L'option --scopes définit le niveau d'accès de la VM sur cloud-platform.

Configurer le gestionnaire de packages

Pour installer un package sur la VM, ajoutez le dépôt que vous avez créé au fichier de configuration Apt qui définit les dépôts de packages.

  1. Accédez à la page des instances de VM.

    Ouvrir la page Instances de VM

  2. Sur la ligne correspondant à votre VM, cliquez sur SSH. Une nouvelle fenêtre s'ouvre avec une session de terminal sur la VM.

  3. Exécutez gcloud init pour initialiser la Google Cloud CLI sur votre VM.

  4. Mettre à jour Apt:

    sudo apt update
    
  5. Installez l'assistant d'identification Apt sur la VM pour permettre à Apt d'effectuer l'authentification:

    sudo apt install apt-transport-artifact-registry
    
  6. Configurez votre VM pour accéder aux packages Artifact Registry à l'aide de la commande suivante:

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

    Remplacez PROJECT par l'ID de votre projet Google Cloud.

Installer le package

Installez le package que vous avez ajouté au dépôt.

  1. Mettez à jour la liste des packages disponibles:

    sudo apt update
    
  2. Installez le package dans votre dépôt.

    sudo apt install apt-dpkg-ref/quickstart-apt-repo
    

    Les informations d'installation renvoyées se présentent comme suit:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Selected version '5.3.1+nmu2' (Debian:10.7/stable, namespaces/my-repo/repositories/quickstart-apt-repo:quickstart
    -apt-repo [all]) for 'apt-dpkg-ref'
    The following NEW packages will be installed:
      apt-dpkg-ref
    0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
    Need to get 113 kB of archives.
    After this operation, 128 kB of additional disk space will be used.
    Get:1 http://deb.debian.org/debian buster/main amd64 apt-dpkg-ref all 5.3.1+nmu2 [113 kB]
    Fetched 113 kB in 0s (693 kB/s)
    Selecting previously unselected package apt-dpkg-ref.
    (Reading database ... 39506 files and directories currently installed.)
    Preparing to unpack .../apt-dpkg-ref_5.3.1+nmu2_all.deb ...
    Unpacking apt-dpkg-ref (5.3.1+nmu2) ...
    Setting up apt-dpkg-ref (5.3.1+nmu2) ...
    

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

Avant de supprimer le dépôt, assurez-vous que tous les packages que vous souhaitez conserver sont disponibles à un autre emplacement.

Pour supprimer le dépôt :

Console

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, sélectionnez le dépôt quickstart-apt-repo.

  3. Cliquez sur Supprimer.

gcloud

  1. Pour supprimer le dépôt quickstart-apt-repo, exécutez la commande suivante :

    gcloud artifacts repositories delete quickstart-apt-repo
    
  2. Si vous souhaitez supprimer le dépôt par défaut et les paramètres d'emplacement que vous avez définis pour la configuration gcloud active, exécutez les commandes suivantes :

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

Pour supprimer la VM que vous avez créée, exécutez la commande suivante:

gcloud compute instances delete quickstart-apt-vm

Étapes suivantes