Builders são imagens com controle de versão que contêm todos os componentes necessários para criar um contêiner executável. Cada builder usa uma distribuição específica do SO como a imagem base, como o Ubuntu 22, e oferece suporte a várias versões de linguagem de programação.
Talvez seja necessário personalizar a versão do builder se você precisar:
- Uma dependência específica do SO disponível apenas em uma versão específica do builder.
- Uma versão específica da linguagem de programação que está disponível apenas em uma versão específica do builder.
Builds locais
Para builds locais, você precisa ter a CLI Pack e o Docker instalados.
Antes de começar
- Instale o Docker Community Edition (CE) na
estação de trabalho. O Docker é usado pela
pack
como um builder de imagens OCI. - Instale a CLI Pack.
- Instale a ferramenta de controle de origem Git para buscar a amostra de aplicativo do GitHub.
Como especificar a versão do builder com pack
É possível anexar a sinalização --builder
ao comando do pacote para especificar a versão do builder que você quer usar:
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
Substitua:
BUILDER_IMAGE_URL
pelo URL do builder. Exemplo:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
pelo nome escolhido para a imagem do aplicativo.
Para saber mais sobre o comando pack
, consulte a
documentação da CLI.
Como especificar a versão do builder com project.toml
Você pode usar um descritor de projeto
(project.toml
) para definir o builder ao criar com pack
- No diretório raiz do aplicativo, crie um arquivo chamado
project.toml
com a seguinte configuração:[build] builder = "BUILDER_IMAGE_URL"
-
Crie o aplicativo executando o comando "pack":
pack build SERVICE_IMAGE_NAME
Substitua:
BUILDER_IMAGE_URL
pelo URL do builder, por exemplo,gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
pelo nome escolhido para a imagem do aplicativo.
Builds remotos
É possível usar um builder específico com o Cloud Build anexando a sinalização --pack
ao enviar seu projeto.
Antes de começar
- 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
- Verifique se o projeto do Google Cloud tem acesso a um repositório de imagens de contêiner.
Para configurar o acesso a um repositório do Docker no Artifact Registry:
- Crie um novo repositório do Docker no mesmo local do seu projeto do Google Cloud.
Substitua:gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
REPO_NAME
pelo nome que você escolheu para o repositório do Docker.REGION
pelo local dentro ou mais próximo do local do seu projeto do Google Cloud.DESCRIPTION
com uma descrição da sua escolha.
Por exemplo, para criar um repositório
docker
emus-west2
com a descrição "repositório do Docker", execute:gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
- Verifique se o repositório foi criado:
gcloud artifacts repositories list
Na lista, você verá o nome que escolheu para o repositório do Docker.
- Crie um novo repositório do Docker no mesmo local do seu projeto do Google Cloud.
Criar o aplicativo usando um builder específico
- Use
gcloud
para enviar o código-fonte do aplicativo para o Cloud Build:gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME
Substitua:
BUILDER_IMAGE_URL
pelo URL do builder. Exemplo:gcr.io/buildpacks/builder:google-22
LOCATION
pelo nome da região do repositório de contêineres. Exemplo:us-west2-docker.pkg.dev
PROJECT_ID
pelo ID do seu projeto do Google Cloud.REPO_NAME
pelo nome do repositório do Docker.SERVICE_IMAGE_NAME
pelo nome da imagem de contêiner que você criou.
Para saber mais sobre o comando
submit
, consulte a documentação do Cloud Build. -
Verifique se o aplicativo de amostra foi publicado em
REPO_NAME
:gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME
Substitua:
LOCATION
pelo nome da região do repositório de contêineres. Exemplo:us-west2-docker.pkg.dev
PROJECT_ID
pelo ID do seu projeto do Google Cloud.REPO_NAME
pelo nome do repositório do Docker.
Implantar a partir da origem com o Cloud Run
É possível usar um arquivo descritor de projeto
de buildpacks, por exemplo, project.toml
para definir o builder ao implantar da origem com o Cloud Run.
- Inicialize um arquivo
project.toml
na raiz do diretório do aplicativo e cole a seguinte configuração nele:[build] builder = "BUILDER_IMAGE_URL"
-
Implantar o aplicativo a partir da origem
gcloud run deploy --source . SERVICE_IMAGE_NAME
Substitua:
BUILDER_IMAGE_URL
pelo URL do builder. Exemplo:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
pelo nome da imagem de contêiner que você criou.