Os criadores são imagens com versões que contêm todos os componentes necessários para criar um contentor executável. Cada criador usa uma distribuição de SO específica como imagem base, como o Ubuntu 22, e suporta várias versões de linguagem de programação.
Pode ter de personalizar a versão do criador se precisar de:
- Uma dependência específica do SO que só está disponível numa versão específica do criador.
- Uma versão específica da linguagem de programação que só está disponível numa versão específica do criador.
Compilações locais
Para compilações locais, tem de ter o CLI Pack e o Docker instalados.
Antes de começar
- Instale o Docker Community Edition (CE) na sua estação de trabalho. O Docker é usado pelo
pack
como um criador de imagens OCI. - Instale a CLI Pack.
- Instale a ferramenta Git source control para obter a aplicação de exemplo do GitHub.
Especificar a versão do criador com pack
Pode anexar a flag --builder
ao comando pack para especificar a versão do criador que quer usar:
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
Substituição:
BUILDER_IMAGE_URL
com o URL do criador. Exemplo:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
com o nome que escolher para a imagem da aplicação.
Para saber mais sobre o comando pack
, consulte a
documentação da CLI
Especificar a versão do criador com project.toml
Pode usar um descritor de projeto
(project.toml
) do buildpacks para definir o criador quando cria com pack
- No diretório raiz da aplicação, crie um ficheiro denominado
project.toml
com a seguinte configuração:[build] builder = "BUILDER_IMAGE_URL"
-
Crie a sua aplicação executando o comando `pack`:
pack build SERVICE_IMAGE_NAME
Substituição:
BUILDER_IMAGE_URL
com o URL do criador, por exemplo,gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
com o nome que escolher para a imagem da aplicação.
Compilações remotas
Pode usar um criador específico com o Cloud Build anexando a flag --pack
quando enviar o 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Certifique-se de que o seu Google Cloud projeto tem acesso a um repositório de imagens de contentores.
Para configurar o acesso a um repositório do Docker no Artifact Registry:
- Crie um novo repositório do Docker na mesma localização do seu Google Cloud projeto.
Substituir:gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
REPO_NAME
com o nome que escolher para o seu repositório do Docker.REGION
com a localização em ou mais próxima da localização do seu Google Cloud projeto.DESCRIPTION
com uma descrição à 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
Deve ver o nome que escolheu para o seu repositório do Docker na lista.
- Crie um novo repositório do Docker na mesma localização do seu Google Cloud projeto.
- Use
gcloud
para enviar o código-fonte da aplicação para o Cloud Build:gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME
Substituição:
BUILDER_IMAGE_URL
com o URL do criador. Exemplo:gcr.io/buildpacks/builder:google-22
LOCATION
com o nome da região do seu repositório de contentores. Exemplo:us-west2-docker.pkg.dev
PROJECT_ID
com o ID do seu Google Cloud projeto.REPO_NAME
com o nome do seu repositório do Docker.SERVICE_IMAGE_NAME
com o nome da imagem de contentor que criou.
Para saber mais sobre o comando
submit
, consulte a documentação do Cloud Build. -
Confirme se a aplicação de exemplo foi publicada com êxito em
REPO_NAME
:gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME
Substituição:
LOCATION
com o nome da região do seu repositório de contentores. Exemplo:us-west2-docker.pkg.dev
PROJECT_ID
com o ID do seu Google Cloud projeto.REPO_NAME
com o nome do seu repositório do Docker.
- Inicialize um ficheiro
project.toml
no diretório raiz da sua aplicação e cole a seguinte configuração no mesmo:[build] builder = "BUILDER_IMAGE_URL"
-
Implemente a sua aplicação a partir da origem
gcloud run deploy --source . SERVICE_IMAGE_NAME
BUILDER_IMAGE_URL
com o URL do criador. Exemplo:gcr.io/buildpacks/builder:google-22
SERVICE_IMAGE_NAME
com o nome da imagem de contentor que criou.
Crie a aplicação com um criador específico
Implemente a partir da origem com o Cloud Run
Pode usar um ficheiro descritor de projeto
de buildpacks, por exemplo, project.toml
, para definir o criador quando implementar a partir da origem com o Cloud Run
Substituição: