Specifica della versione Go
Per impostazione predefinita, il buildpack Go utilizza l'ultima versione stabile del compilatore Go. Se la tua applicazione richiede una versione specifica, puoi utilizzare la variabile d'ambiente GOOGLE_GO_VERSION
per fornire un vincolo semver che verrà utilizzato per selezionare una versione di Go disponibile.
pack build sample-go --builder=gcr.io/buildpacks/builder \
--env GOOGLE_GO_VERSION="17.x.x"
Flag di compilazione
Il buildpack Go compila il codice sorgente dell'applicazione in un file eseguibile utilizzando go build command
. Per configurare il comportamento della build puoi utilizzare le seguenti variabili di ambiente:
GOOGLE_BUILDABLE
Specifica il percorso di un'unità compilabile. Esempio:./maindir
per Go creerà il pacchetto con rooting inmaindir
.GOOGLE_CLEAR_SOURCE
Ometti il codice sorgente dall'immagine dell'applicazione. Se l'applicazione dipende da file statici, come i modelli Go, l'impostazione di questa variabile potrebbe causare un comportamento anomalo dell'applicazione. Esempio:true
,True
,1
cancellerà l'origine.GOOGLE_GOGCFLAGS
Passato ago build
ego run
come valore-gcflags
senza alcuna interpretazione. Esempio:all=-N -l
abilita l'analisi delle condizioni di gara e modifica il modo in cui i percorsi dei file di origine vengono registrati nel file binario.GOOGLE_GOLDFLAGS
Trasmesso a go build e go run come valore-ldflags
senza interpretazione. Esempio:-s -w
viene utilizzato per rimuovere e ridurre le dimensioni del file binario.
Gestione delle dipendenze
Ti consigliamo di utilizzare i moduli Go per gestire le dipendenze nell'app Go. Il buildpack di Go utilizza il comando go build
per creare l'app e, pertanto, corrisponde al comportamento di Go stesso. Per assicurarti che l'app utilizzi la modalità sensibile al modulo, devi includere un file go.mod
nella directory radice dell'applicazione.
Dipendenze del fornitore
Il fornitore copia i pacchetti utilizzati dalla tua app nella directory dell'applicazione anziché scaricare i moduli dalle rispettive origini durante il processo di compilazione. Go fornisce il comando go build per fornire i pacchetti necessari alla tua app in una directory denominata vendor
nella directory root dell'app.
Configura il punto di ingresso dell'applicazione
Per impostazione predefinita, il buildpack Go configura l'elemento di ingresso del contenitore dell'applicazione in modo da richiamare l'eseguibile main
prodotto durante la compilazione del codice sorgente dell'applicazione. Se devi eseguire l'override, puoi fornire un valore Procfile
o trasmettere la variabile di ambiente GOOGLE_ENTRYPOINT
.
Variabili di ambiente
Il buildpack Go supporta le seguenti variabili di ambiente per personalizzare il container
VAI
Consulta la documentazione di Go sulle variabili di ambiente
Esempio: GOFLAGS=-flag=value
passa -flag=value
ai comandi go
.