Stocker des packages RPM dans Artifact Registry

Ce guide de démarrage rapide explique comment configurer une application privée Artifact Registry pour Yum un package RPM, puis installez-le sur une VM Compute Engine exécutant le système d'exploitation CentOS 7. Pour savoir comment configurer des dépôts Yum qui utilisent DNF, consultez la section Configurer des VM pour installer des paquets RPM.

Vous allez suivre les étapes de ce guide de démarrage rapide à l'aide de Cloud Shell et dans le shell de la VM que vous créez.

Pour en savoir plus sur la gestion des paquets RPM, consultez Utiliser des paquets RPM.

Avant de commencer

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

Lancer Cloud Shell

Cloud Shell est préinstallé avec 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 ce shell pour exécuter les commandes gcloud afin de créer une VM et une un dépôt de clés.

Créer un dépôt

Créez le dépôt pour 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-yum-repo comme nom de dépôt.

    4. Sélectionnez le format Yum.

    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 Yum dans le projet actuel nommé quickstart-yum-repo à l'emplacement us-central1.

      gcloud artifacts repositories create quickstart-yum-repo \
          --repository-format=yum \
          --location=us-central1 \
          --description="Yum 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 désormais 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 la Google Cloud CLI, ou vous pouvez importer un package stocké dans Cloud Storage. Si vous créez des packages à l'aide de Cloud Build, la compilation peut stocker pour vous les packages dans Cloud Storage à importer.

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

  1. Dans Cloud Shell, téléchargez l'éditeur de texte nano à l'aide de la commande suivante:

    sudo yum install --downloaddir=. --downloadonly nano
    

    Yum télécharge la dernière version du paquet disponible à partir de votre des dépôts CentOS configurés.

    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
    

    Exécutez ls pour obtenir le nom de fichier du package. Le nom de fichier est semblable à nano-2.3.1-10.el7.x86_64.rpm

  2. Pour simplifier les commandes gcloud, définissez le dépôt par défaut sur quickstart-yum-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-yum-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 yum upload pour importer le package dans dépôt:

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

    Remplacez FILE_NAME par le chemin d'accès au package nano.

Afficher le package dans le dépôt

Vérifiez que votre package a bien é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-yum-repo.

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

gcloud

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

 gcloud artifacts packages list

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

gcloud artifacts versions list --package=nano

Créer une VM

Créez une VM Compute Engine dans laquelle vous installerez l'exemple de package.

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

gcloud compute instances create quickstart-yum-vm \
    --image-family=centos-7 \
    --image-project=centos-cloud \
    --scopes=cloud-platform

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

Configurer le gestionnaire de paquets

Pour installer un package sur la VM, ajoutez le dépôt que vous avez créé à la Fichier Yum 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 un terminal. sur la VM.

  3. Mettez à jour Yum:

    sudo yum makecache
    
  4. Installez l'utilitaire d'authentification Yum sur la VM pour permettre à Yum d'effectuer l'authentification à l'aide de la commande suivante :

    sudo yum install yum-plugin-artifact-registry
    
  5. Configurez votre VM pour accéder aux packages Artifact Registry à l'aide des éléments suivants : commande:

    sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
    [yum-quickstart]
    name=My Repository
    baseurl=https://us-central1-yum.pkg.dev/projects/PROJECT/quickstart-yum-repo
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    

    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 yum makecache
    
  2. Installez le package dans votre dépôt.

    sudo yum --enablerepo=yum-quickstart install nano
    

    Saisissez y lorsque vous y êtes invité.

    Les informations d'installation renvoyées ressemblent à l'exemple suivant :

    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!
    

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-yum-repo.

  3. Cliquez sur Supprimer.

gcloud

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

    gcloud artifacts repositories delete quickstart-yum-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-yum-vm

Étape suivante