Utilizzare un builder specifico

I builder sono immagini con controllo delle versioni che contengono tutte le necessari per creare un container eseguibile. Ogni builder utilizza una specifica la distribuzione del sistema operativo come immagine di base, ad esempio Ubuntu 22, e supporta più dei linguaggi di programmazione.

Potresti dover personalizzare la versione del builder se hai bisogno di:

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

Build locali

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

Prima di iniziare

  1. Installa Docker Community Edition (CE) sulla workstation. Docker viene utilizzato da pack come generatore di immagini OCI.
  2. Installa l'interfaccia a riga di comando Pack.
  3. Installa il controllo del codice sorgente Git per recuperare l'applicazione di esempio da GitHub.

Specifica la versione del builder con pack

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

pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL

Sostituisci:

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

Per scoprire di più sul comando pack, consulta le Documentazione relativa all'interfaccia a riga di comando

Specifica la versione del builder con project.toml

Puoi utilizzare un descrittore del progetto buildpack (project.toml) per impostare il builder quando crei 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 hai scelto per l'immagine dell'applicazione.

Build remote

Puoi utilizzare uno specifico builder con Cloud Build aggiungendo --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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. Enable the Cloud Build and Artifact Registry APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  9. Enable the Cloud Build and Artifact Registry APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    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 località in o più vicina alla località del progetto Google Cloud.
      • DESCRIPTION con una descrizione di tua scelta.

      Ad esempio, per creare un repository docker in us-west2 con la descrizione "Docker repository" (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 hai scelto per il repository Docker.

Crea l'applicazione utilizzando un builder specifico

  1. Utilizza gcloud per inviare il codice sorgente della richiesta 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 del builder. Esempio: gcr.io/buildpacks/builder:google-22
    • LOCATION con il nome della regione del container repository Git. 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 scoprire di più sul comando submit, consulta le Cloud Build documentazione.

  2. Verifica che l'applicazione di esempio sia stata pubblicata 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 di 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 descrittore del progetto buildpack file, ad esempio project.toml per impostare il builder quando esegui il deployment dall'origine con Cloud Run

  1. Inizializza un file project.toml nella directory radice della tua applicazione e incollaci la configurazione seguente:
    [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 di creazione. Esempio: gcr.io/buildpacks/builder:google-22
  • SERVICE_IMAGE_NAME con il nome dell'immagine container che hai creato.