Como especificar a versão do Go
Por padrão, o buildpack do Go usa a versão estável mais recente do compilador Go. Se seu aplicativo exigir uma versão específica, use a variável de ambiente GOOGLE_GO_VERSION para fornecer uma restrição semver, que será usada para selecionar uma versão do Go disponível.
pack build sample-go --builder=gcr.io/buildpacks/builder \
--env GOOGLE_GO_VERSION="17.x.x"
Flags de compilação
O buildpack do Go compila a origem do seu aplicativo em um executável usando o comando go build command. As seguintes variáveis de ambiente podem ser usadas para configurar o comportamento do build:
GOOGLE_BUILDABLEEspecifica o caminho para uma unidade passível de build. Exemplo:./maindirpara Go cria o pacote com acesso root emmaindir.GOOGLE_CLEAR_SOURCEOmite o código-fonte da imagem do aplicativo. Se o aplicativo depender de arquivos estáticos, como modelos Go, a definição dessa variável poderá causar um comportamento inadequado do aplicativo. Exemplo:true,True,1limparão a origem.GOOGLE_GOGCFLAGSTransmitido parago buildego runcomo valor-gcflagssem interpretação. Exemplo:all=-N -lativa a análise de disputa e muda a forma como os caminhos de arquivos de origem são gravados no binário.GOOGLE_GOLDFLAGSTransmitido para o build e a execução do Go como valor-ldflagssem interpretação. Exemplo:-s -wé usado para reduzir e esvaziar o tamanho do binário.
Gerenciamento de dependências
Recomendamos que você use os módulos do Go para gerenciar dependências no seu app em Go. O buildpack do Go usa o comando go build para criar o app e, portanto, corresponde ao comportamento do próprio Go. Para garantir que o app use o modo de reconhecimento de módulo, inclua um arquivo go.mod na raiz do seu aplicativo.
Disponibilização de pacotes de terceiros para dependências
A disponibilização de pacotes de terceiros copia os pacotes que seu aplicativo usa para o diretório do aplicativo em vez de fazer o download dos módulos das fontes durante o processo de criação. O Go fornece o comando para disponibilizar pacotes de terceiros necessários para seu aplicativovendor em um diretório chamado no diretório raiz do aplicativo.
Configurar o ponto de entrada do aplicativo
Por padrão, o buildpack do Go configura a entrada do contêiner do aplicativo para invocar o executável main produzido ao compilar a origem do aplicativo. Se você precisar substituir isso, forneça um Procfile ou transmita a variável de ambiente GOOGLE_ENTRYPOINT.
Variáveis de ambiente
O buildpack do Go é compatível com as variáveis de ambiente a seguir para personalizar o contêiner.
GO
Consulte a documentação do Go sobre Variáveis de ambiente.
Exemplo: GOFLAGS=-flag=value transmite -flag=value para comandos go.