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
- Installa Docker Community Edition (CE) sulla workstation. Docker è utilizzato da
pack
come generatore di immagini OCI. - Installa Pack CLI.
- 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
- Nella directory root dell'applicazione, crea un file denominato
project.toml
con la seguente configurazione:[build] builder = "BUILDER_IMAGE_URL"
-
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 esempiogcr.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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Build and Artifact Registry.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Build and Artifact Registry.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
- 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:
- 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
inus-west2
con la descrizione "Repository Docker", esegui:gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
- 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 un nuovo repository Docker nella stessa località del tuo progetto Google Cloud.
Crea l'applicazione utilizzando un builder specifico
- 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. -
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
- 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"
-
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.