Utilizza uno strumento di creazione specifico

I generatori sono immagini sottoposte al controllo delle versioni che contengono tutti i componenti necessari per creare un container eseguibile. Ogni builder utilizza una specifica distribuzione del sistema operativo come immagine di base, ad esempio Ubuntu 22, e supporta più versioni di linguaggio di programmazione.

Potrebbe essere necessario personalizzare la versione dello strumento di creazione se hai bisogno di:

  • Una dipendenza specifica del sistema operativo che è disponibile solo in una specifica versione del builder.
  • Una versione specifica del linguaggio di programmazione disponibile solo in una specifica versione del builder.

Build locali

Per le build locali, devi avere installato l'interfaccia a riga di comando Pack e Docker.

Prima di iniziare

  1. Installa Docker Community Edition (CE) sulla workstation. Docker è utilizzato da pack come generatore di immagini OCI.
  2. Installa Pack CLI.
  3. Installa lo strumento Git source control per recuperare l'applicazione di esempio da GitHub.

Specifica della versione del builder con pack

Puoi aggiungere il flag --builder al comando pack per specificare la versione del builder che vuoi utilizzare:

pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL

Sostituisci:

  • BUILDER_IMAGE_URL con l'URL dello strumento per la creazione. Esempio: gcr.io/buildpacks/builder:google-22
  • SERVICE_IMAGE_NAME con il nome che scegli per l'immagine dell'applicazione.

Per scoprire di più sul comando pack, consulta la documentazione dell'interfaccia a riga di comando

Specifica della versione del builder con project.toml

Puoi utilizzare un descrittore di progetto (project.toml) per i buildpack per impostare il generatore durante la creazione con pack

  1. Nella directory root dell'applicazione, crea un file denominato project.toml con la seguente configurazione:
    [build]
    builder = "BUILDER_IMAGE_URL"
  2. Crea la tua applicazione eseguendo il comando 'pack':
    pack build SERVICE_IMAGE_NAME

Sostituisci:

  • BUILDER_IMAGE_URL con l'URL dello strumento di creazione, ad esempio gcr.io/buildpacks/builder:google-22
  • SERVICE_IMAGE_NAME con il nome che scegli per l'immagine dell'applicazione.

Build remote

Puoi utilizzare uno specifico builder con Cloud Build aggiungendo il flag --pack quando invii il progetto.

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. Abilita le API Cloud Build and Artifact Registry.

    Abilita le API

  5. Installa Google Cloud CLI.
  6. Per initialize gcloud CLI, esegui questo comando:

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

    Vai al selettore progetti

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

  9. Abilita le API Cloud Build and Artifact Registry.

    Abilita le API

  10. Installa Google Cloud CLI.
  11. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  12. Assicurati che il tuo progetto Google Cloud abbia accesso a un repository di immagini container.

    Per configurare l'accesso a un repository Docker in Artifact Registry:

    1. Crea un nuovo repository Docker nella stessa località del tuo progetto Google Cloud.
      gcloud artifacts repositories create REPO_NAME \
      --repository-format=docker \
      --location=REGION --description="DESCRIPTION"
      
      Sostituisci:
      • REPO_NAME con il nome che scegli per il repository Docker.
      • REGION con la località all'interno o a quella più vicina alla località del tuo progetto Google Cloud.
      • DESCRIPTION con una descrizione a tua scelta.

      Ad esempio, per creare un repository docker in us-west2 con la descrizione "Repository Docker", esegui:

      gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \
      --location=us-west2 --description="Docker repository"
      
    2. Verifica che il repository sia stato creato:
      gcloud artifacts repositories list
      

      Nell'elenco dovresti vedere il nome che scegli per il tuo repository Docker.

Crea l'applicazione utilizzando un builder specifico

  1. Utilizza gcloud per inviare il codice sorgente dell'applicazione a Cloud Build:
    gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME

    Sostituisci:

    • BUILDER_IMAGE_URL con l'URL dello strumento per la creazione. Esempio: gcr.io/buildpacks/builder:google-22
    • LOCATION con il nome della regione del repository dei container. Esempio: us-west2-docker.pkg.dev
    • PROJECT_ID con l'ID del tuo progetto Google Cloud.
    • REPO_NAME con il nome del tuo repository Docker.
    • SERVICE_IMAGE_NAME con il nome dell'immagine container che hai creato.

    Per saperne di più sul comando submit, consulta la documentazione di Cloud Build.

  2. Verifica che l'applicazione di esempio sia stata pubblicata correttamente in REPO_NAME:
    gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME

    Sostituisci:

    • LOCATION con il nome della regione del repository dei container. Esempio: us-west2-docker.pkg.dev
    • PROJECT_ID con l'ID del tuo progetto Google Cloud.
    • REPO_NAME con il nome del tuo repository Docker.

Esegui il deployment dall'origine con Cloud Run

Puoi utilizzare un file descrittore di progetto buildpack, ad esempio project.toml, per impostare il generatore quando esegui il deployment dall'origine con Cloud Run

  1. Inizializza un file project.toml nella directory principale della directory dell'applicazione e incolla la seguente configurazione al suo interno:
    [build]
    builder = "BUILDER_IMAGE_URL"
  2. Esegui il deployment dell'applicazione dall'origine
    gcloud run deploy --source . SERVICE_IMAGE_NAME

Sostituisci:

  • BUILDER_IMAGE_URL con l'URL dello strumento per la creazione. Esempio: gcr.io/buildpacks/builder:google-22
  • SERVICE_IMAGE_NAME con il nome dell'immagine container che hai creato.