Menentukan Versi Go
Secara default, buildpack Go menggunakan compiler Go versi stabil terbaru. Jika aplikasi Anda memerlukan versi tertentu, Anda dapat menggunakan variabel lingkungan GOOGLE_GO_VERSION untuk memberikan batasan semver yang akan digunakan untuk memilih versi Go yang tersedia.
pack build sample-go --builder=gcr.io/buildpacks/builder \
--env GOOGLE_GO_VERSION="17.x.x"
Flag Kompilasi
Buildpack Go mengompilasi sumber aplikasi Anda menjadi file yang dapat dieksekusi menggunakan go build command. Variabel lingkungan berikut dapat digunakan untuk mengonfigurasi perilaku build:
GOOGLE_BUILDABLEMenentukan jalur ke unit yang dapat dibangun. Contoh:./maindiruntuk Go akan membangun paket yang di-root padamaindir.GOOGLE_CLEAR_SOURCEMenghapus kode sumber dari image aplikasi. Jika aplikasi bergantung pada file statis, seperti template Go, menyetel variabel ini dapat menyebabkan aplikasi tidak berfungsi sebagaimana mestinya. Contoh:true,True,1akan menghapus sumber.GOOGLE_GOGCFLAGSDiteruskan kego builddango runsebagai nilai-gcflagstanpa penafsiran. Contoh:all=-N -lmengaktifkan analisis kondisi race dan mengubah cara jalur file sumber dicatat dalam biner.GOOGLE_GOLDFLAGSDiteruskan untuk build go dan pengoperasian go sebagai nilai-ldflagstanpa penafsiran. Contoh:-s -wdigunakan untuk menghapus dan mengurangi ukuran biner.
Mengelola dependensi
Sebaiknya gunakan modul Go untuk mengelola dependensi di aplikasi Go Anda. Go buildpack menggunakan perintah go build untuk membangun aplikasi Anda sehingga cocok dengan perilaku Go itu sendiri. Untuk memastikan aplikasi Anda menggunakan mode sadar modul, Anda harus menyertakan file go.mod di root aplikasi.
Dependensi vendoring
Vendoring menyalin paket yang digunakan aplikasi Anda ke dalam direktori aplikasi, dan tidak akan mendownload modul dari sumbernya selama proses build. Go memberi build go perintah untuk mem-vendor paket yang dibutuhkan aplikasi Anda ke direktori bernama vendor di direktori root aplikasi Anda.
Mengonfigurasi Titik Entri Aplikasi
Secara default, buildpack Go akan mengonfigurasi entri container aplikasi yang memanggil file yang dapat dieksekusi main yang dihasilkan saat mengompilasi sumber aplikasi Anda. Jika perlu menggantinya, Anda dapat melakukannya dengan memberikan Procfile atau meneruskan variabel lingkungan GOOGLE_ENTRYPOINT.
Variabel Lingkungan
Buildpack Go mendukung variabel lingkungan berikut untuk menyesuaikan container Anda
GO
Lihat dokumentasi Go tentang Variabel Lingkungan
Contoh: GOFLAGS=-flag=value meneruskan -flag=value ke perintah go.