I compilatori sono immagini con controllo della versione che contengono tutti i componenti necessari per creare un container eseguibile. Ogni builder utilizza una distribuzione del sistema operativo specifica come immagine di base, ad esempio Ubuntu 22, e supporta più versioni del linguaggio di programmazione.
Potresti dover personalizzare la versione del generatore se hai bisogno di:
- Una dipendenza specifica per il sistema operativo disponibile solo in una versione specifica del generatore.
- Una versione specifica del linguaggio di programmazione disponibile solo in una versione specifica del generatore.
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 tua workstation. Docker viene utilizzato da
pack
come generatore di immagini OCI. - Installa Pack CLI.
- Installa lo strumento di controllo del codice sorgente Git per recuperare l'applicazione di esempio da GitHub.
Specifica la versione del generatore con pack
Puoi aggiungere il flag --builder
al comando pack per specificare la versione del generatore che vuoi utilizzare:
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
Sostituisci:
BUILDER_IMAGE_URL
con l'URL del generatore. 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 la documentazione dell'interfaccia a riga di comando.
Specifica la versione del generatore con project.toml
Puoi utilizzare un descrittore del progetto
(project.toml
) di Buildpack per impostare il generatore durante la compilazione con pack
- Nella directory principale dell'applicazione, crea un file denominato
project.toml
con la seguente configurazione:[build] builder = "BUILDER_IMAGE_URL"
-
Crea l'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 hai scelto per l'immagine dell'applicazione.
Build remote
Puoi utilizzare un generatore specifico con Cloud Build aggiungendo il flag --pack
quando invii il progetto.
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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 posizione del progetto Google Cloud.
Sostituisci:gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
REPO_NAME
con il nome che hai scelto per il tuo repository Docker.REGION
con la località in o 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 scelto per il repository Docker.
- Crea un nuovo repository Docker nella stessa posizione del progetto Google Cloud.
Crea l'applicazione utilizzando un generatore 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 del generatore. Esempio:gcr.io/buildpacks/builder:google-22
LOCATION
con il nome della regione del tuo 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 scoprire di più sul comando
submit
, consulta la documentazione di Cloud Build. -
Verifica che l'applicazione di esempio sia stata pubblicata correttamente su
REPO_NAME
:gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME
Sostituisci:
LOCATION
con il nome della regione del tuo repository di contenitori. 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 da sorgente con Cloud Run
Puoi utilizzare un file descrittore del progetto di Buildpacks, ad esempio project.toml
, per impostare lo strumento di creazione durante il deployment dal codice sorgente con Cloud Run.
- Inizializza un file
project.toml
nella directory principale della tua applicazione e incolla la seguente configurazione:[build] builder = "BUILDER_IMAGE_URL"
-
Esegui il deployment dell'applicazione dal codice sorgente
gcloud run deploy --source . SERVICE_IMAGE_NAME
Sostituisci:
BUILDER_IMAGE_URL
con l'URL del generatore. Esempio:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
con il nome dell'immagine container che hai creato.