RPM-Pakete in Artifact Registry speichern

In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Yum-Repository für Artifact Registry einrichten, dem Repository ein RPM-Paket hinzufügen und das Paket auf einer Compute Engine-VM mit dem Betriebssystem CentOS 7 installieren. Informationen zum Konfigurieren von Yum-Repositories, die DNF verwenden, finden Sie unter VMs für die Installation von RPM-Paketen konfigurieren.

Weitere Informationen zum Verwalten von RPM-Paketen finden Sie unter Mit RPM-Paketen arbeiten.

Hinweise

  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. Verify 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. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

  8. Cloud Shell starten

    Die Google Cloud CLI ist in Cloud Shell vorinstalliert. Die gcloud CLI bietet die primäre Befehlszeile für Google Cloud.

    Cloud Shell aufrufen

    1. Rufen Sie die Google Cloud Console auf.

      Google Cloud console

    2. Klicken Sie in der Google Cloud Console auf Cloud Shell aktivieren Schaltfläche „Cloud Shell aktivieren“.

    In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet. In dieser Shell führen Sie die gcloud-Befehle aus, um eine VM und ein Repository zu erstellen.

    Repository erstellen

    Erstellen Sie das Repository für Ihre Artefakte.

    1. Im Folgenden wird gezeigt, wie Sie das Repository anlegen.

      Console

      1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

        Zur Seite „Repositories“

      2. Klicken Sie auf Repository erstellen.

      3. Geben Sie quickstart-yum-repo als Repository-Namen an.

      4. Wählen Sie Yum als Format aus.

      5. Wählen Sie unter Standorttyp die Option Region und dann den Standort us-west1 aus.

      6. Klicken Sie auf Erstellen.

      Das Repository wird der Repository-Liste hinzugefügt.

      gcloud

      1. Führen Sie in Cloud Shell den folgenden Befehl aus, um ein neues Yum-Repository im aktuellen Projekt mit dem Namen quickstart-yum-repo am Speicherort us-west1 zu erstellen.

        gcloud artifacts repositories create quickstart-yum-repo \
            --repository-format=yum \
            --location=us-west1 \
            --description="Yum repository"
        
      2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:

        gcloud artifacts repositories list
        

    Sie können dem Repository jetzt ein Paket hinzufügen.

    Paket dem Repository hinzufügen

    Sie können ein Paket mit der Google Cloud CLI in ein Repository hochladen oder ein Paket importieren, das in Cloud Storage gespeichert ist. Wenn Sie Pakete mit Cloud Build erstellen, können die Pakete im Rahmen des Builds in Cloud Storage gespeichert werden, damit Sie sie importieren können.

    In dieser Kurzanleitung laden Sie eine Beispieldatei mit dem Befehl gcloud artifacts yum upload hoch.

    1. Laden Sie in Cloud Shell den nano-Texteditor mit dem folgenden Befehl herunter:

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

      Yum lädt die neueste Version des Pakets herunter, die in den konfigurierten CentOS-Repositories verfügbar ist.

      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
      

      Führen Sie ls aus, um den Dateinamen des Pakets abzurufen. Der Dateiname ähnelt nano-2.3.1-10.el7.x86_64.rpm.

    2. Um die gcloud-Befehle zu vereinfachen, legen Sie für das Standard-Repository den Wert quickstart-yum-repo und für den Standard-Speicherort us-west1 fest. Nachdem Sie die Werte festgelegt haben, müssen Sie diese nicht mehr in gcloud-Befehlen angeben, für die ein Repository oder Speicherort erforderlich ist.

      Um das Repository festzulegen, führen Sie folgenden Befehl aus:

      gcloud config set artifacts/repository quickstart-yum-repo
      

      Führen Sie den folgenden Befehl aus, um den Standort festzulegen:

      gcloud config set artifacts/location us-west1
      

      Weitere Informationen zu diesen Befehlen finden Sie in der Dokumentation zu gcloud config set.

    3. Führen Sie den Befehl gcloud artifacts yum upload aus, um das Paket in das Repository hochzuladen:

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

      Ersetzen Sie FILE_NAME durch den Pfad zum Nano-Paket.

    Paket im Repository ansehen

    Prüfen Sie, ob Ihr Paket dem Repository hinzugefügt wurde.

    Console

    1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

      Zur Seite „Repositories“

    2. Klicken Sie in der Repository-Liste auf das Repository quickstart-yum-repo.

      Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.

    gcloud

    Führen Sie den folgenden Befehl aus, um die Pakete im Repository quickstart-yum-repo aufzulisten:

     gcloud artifacts packages list
    

    Führen Sie den folgenden Befehl aus, um Versionen für ein Paket in quickstart-yum-repo aufzurufen:

    gcloud artifacts versions list --package=nano
    

    VM erstellen

    Erstellen Sie eine neue Compute Engine-VM, auf der Sie das Beispielpaket installieren.

    Führen Sie in Cloud Shell den folgenden Befehl aus, um eine VM-Instanz mit dem Namen quickstart-yum-vm zu erstellen.

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

    Standardmäßig hat die VM nicht die erforderlichen Zugriffsbereiche für die Arbeit mit dem Repository. Mit dem Flag --scopes wird der Zugriffsbereich für die VM auf cloud-platform festgelegt.

    Paketmanager konfigurieren

    Wenn Sie ein Paket auf der VM installieren möchten, fügen Sie das von Ihnen erstellte Repository der Yum-Datei hinzu, in der Paket-Repositories definiert sind.

    1. Gehen Sie zur Seite "VM-Instanzen".

      Seite „VM-Instanzen“ aufrufen

    2. Klicken Sie in der Zeile mit Ihrer VM auf SSH. Ein neues Fenster mit einer Terminalsitzung auf der VM wird geöffnet.

    3. Yum aktualisieren:

      sudo yum makecache
      
    4. Installieren Sie den Yum-Anmeldedaten-Helper auf der VM, damit Yum die Authentifizierung durchführen kann. Verwenden Sie dazu den folgenden Befehl:

      sudo yum install yum-plugin-artifact-registry
      
    5. Konfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete mit dem folgenden Befehl:

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

      Ersetzen Sie PROJECT durch Ihre Google Cloud Projekt-ID.

    Paket installieren

    Installieren Sie das Paket, das Sie dem Repository hinzugefügt haben.

    1. Aktualisieren Sie die Liste der verfügbaren Pakete:

      sudo yum makecache
      
    2. Installieren Sie das Paket in Ihrem Repository.

      sudo yum --enablerepo=yum-quickstart install nano
      

      Geben Sie y ein, wenn Sie dazu aufgefordert werden.

      Die zurückgegebenen Installationsinformationen sehen so aus:

      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!
      

    Bereinigen

    Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

    Prüfen Sie vor dem Entfernen des Repositorys, ob alle Pakete, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.

    So löschen Sie das Repository:

    Console

    1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

      Zur Seite „Repositories“

    2. Wählen Sie in der Repository-Liste das Repository quickstart-yum-repo aus.

    3. Klicken Sie auf Löschen.

    gcloud

    1. Um das Repository quickstart-yum-repo zu löschen, führen Sie folgenden Befehl aus:

      gcloud artifacts repositories delete quickstart-yum-repo
      
    2. Wenn Sie die Standardeinstellungen für das Repository und den Standort entfernen möchten, die Sie für die aktive gcloud-Konfiguration festgelegt haben, führen Sie die folgenden Befehle aus:

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

    Führen Sie den folgenden Befehl aus, um die erstellte VM zu löschen:

    gcloud compute instances delete quickstart-yum-vm
    

    Nächste Schritte