Archivia pacchetti Apt in Artifact Registry

Questa guida rapida mostra come configurare un repository Artifact Registry Apt privato, aggiungere un pacchetto Debian al repository e installare il pacchetto su una VM Compute Engine che esegue un sistema operativo basato su Debian.

In questa guida rapida, eseguirai dei passaggi utilizzando Cloud Shell e nella shell della VM creata in questa guida rapida.

Per scoprire di più sulla gestione dei pacchetti Debian, consulta Lavorare con i pacchetti Debian.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Artifact Registry.

    Abilita l'API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva l'API Artifact Registry.

    Abilita l'API

Avvia Cloud Shell

Cloud Shell è preinstallato con Google Cloud CLI. gcloud CLI fornisce la principale interfaccia a riga di comando per Google Cloud.

Avvia Cloud Shell:

  1. Vai alla console Google Cloud.

    Console Google Cloud

  2. Nella barra degli strumenti della console Google Cloud, fai clic su Attiva Cloud Shell:

Si apre una sessione di Cloud Shell all'interno di un frame più in basso nella console. Utilizzerai questa shell per eseguire i comandi gcloud al fine di creare una VM e un repository.

Crea un repository

Crea il repository per i tuoi artefatti.

  1. Crea il repository:

    Console

    1. Apri la pagina Repositories nella console Google Cloud.

      Apri la pagina Repository

    2. Fai clic su Crea repository.

    3. Specifica quickstart-apt-repo come nome del repository.

    4. Seleziona Apt come formato.

    5. In Tipo di località, seleziona Regione e poi scegli la località us-central1.

    6. Fai clic su Crea.

    Il repository viene aggiunto all'elenco dei repository.

    gcloud

    1. In Cloud Shell, esegui questo comando per creare un nuovo repository Apt nel progetto attuale denominato quickstart-apt-repo nella località us-central1.

      gcloud artifacts repositories create quickstart-apt-repo \
          --repository-format=apt \
          --location=us-central1 \
          --description="Apt repository"
      
    2. Esegui questo comando per verificare che il repository sia stato creato:

      gcloud artifacts repositories list
      

Ora puoi aggiungere un pacchetto al repository.

Aggiungi un pacchetto al repository

Puoi caricare un pacchetto in un repository utilizzando Google Cloud CLI oppure puoi importare un pacchetto archiviato in Cloud Storage. Se crei pacchetti utilizzando Cloud Build, la build può archiviare i pacchetti in Cloud Storage per consentirti di importarli.

Per questa guida rapida, devi caricare un file di esempio utilizzando il comando gcloud artifacts apt upload.

  1. In Cloud Shell, scarica il foglio di riferimento rapido di Apt con il comando:

    apt download apt-dpkg-ref
    

    Apt scarica la versione più recente del pacchetto disponibile nei repository Apt configurati.

    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)
    

    Esegui ls per ottenere il nome file del foglio di riferimento rapido di Apt. Il nome file è simile a apt-dpkg-ref_5.3.1+nmu2_all.deb.

  2. Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-apt-repo e la posizione predefinita su us-central1. Dopo aver impostato i valori, non è necessario specificarli nei comandi gcloud che richiedono un repository o una posizione.

    Per impostare il repository, esegui il comando:

    gcloud config set artifacts/repository quickstart-apt-repo
    

    Per impostare la località, esegui il comando:

    gcloud config set artifacts/location us-central1
    

    Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.

  3. Esegui gcloud artifacts apt upload per caricare il pacchetto nel repository:

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

    Sostituisci FILE_NAME con il percorso del foglio di riferimento rapido di Apt.

Visualizza il pacchetto nel repository

Verifica che il pacchetto sia stato aggiunto al repository.

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic sul repository quickstart-apt-repo.

    Nella pagina Pacchetti sono elencati i pacchetti nel repository.

gcloud

Per elencare i pacchetti nel repository quickstart-apt-repo, esegui questo comando:

 gcloud artifacts packages list

Per visualizzare le versioni di un pacchetto in quickstart-apt-repo, esegui questo comando:

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

Crea una VM

Crea una nuova VM di Compute Engine in cui installerai il pacchetto di esempio.

In Cloud Shell, esegui questo comando per creare un'istanza VM denominata quickstart-apt-vm:

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

Per impostazione predefinita, la VM non dispone degli ambiti di accesso richiesti per lavorare con il repository. Il flag --scopes imposta l'ambito di accesso per la VM su cloud-platform.

Configura il gestore di pacchetti

Per installare un pacchetto sulla VM, aggiungi il repository che hai creato al file di configurazione Apt che definisce i repository del pacchetto.

  1. Vai alla pagina Istanze VM.

    Apri la pagina Istanze VM

  2. Nella riga con la tua VM, fai clic su SSH. Si apre una nuova finestra con una sessione di terminale sulla VM.

  3. Esegui gcloud init per inizializzare Google Cloud CLI sulla tua VM.

  4. Aggiorna app:

    sudo apt update
    
  5. Installa l'helper delle credenziali Apt sulla VM per consentire ad Apt di eseguire l'autenticazione:

    sudo apt install apt-transport-artifact-registry
    
  6. Configura la tua VM per accedere ai pacchetti di Artifact Registry utilizzando il seguente comando:

    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
    

    Sostituisci PROJECT con l'ID progetto Google Cloud.

Installa il pacchetto

Installa il pacchetto che hai aggiunto al repository.

  1. Aggiorna l'elenco dei pacchetti disponibili:

    sudo apt update
    
  2. Installare il pacchetto nel repository.

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

    Le informazioni di installazione restituite sono simili all'esempio seguente:

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

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Prima di rimuovere il repository, assicurati che tutti i pacchetti che vuoi conservare siano disponibili in un'altra posizione.

Per eliminare il repository:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, seleziona il repository quickstart-apt-repo.

  3. Fai clic su Elimina.

gcloud

  1. Per eliminare il repository quickstart-apt-repo, esegui questo comando:

    gcloud artifacts repositories delete quickstart-apt-repo
    
  2. Se vuoi rimuovere il repository predefinito e le impostazioni di posizione configurate per la configurazione gcloud attiva, esegui i comandi seguenti:

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

Per eliminare la VM che hai creato, esegui questo comando:

gcloud compute instances delete quickstart-apt-vm

Passaggi successivi