Nesta página, descrevemos como criar, atualizar, visualizar e excluir pools particulares do Cloud Build. Se você não conhece os pools privados, leia a Visão geral dos pools privados.
Antes de começar
Crie um novo projeto do Google Cloud ou escolha um projeto existente. Você usará esse projeto para criar o pool privado.
-
Ative a API Cloud Build.
Para usar os exemplos de linha de comando neste guia, instale e configure a Google Cloud CLI.
[Opcional] Para que as versões acessem recursos particulares da sua rede de nuvem privada virtual, é necessário configurar uma conexão de peering entre sua rede de nuvem privada virtual e a rede de nuvem privada virtual em que os pools privados residem. Para mais instruções, consulte Configurar o ambiente para criar pools particulares.
Como criar um novo pool privado
Permissões do IAM: você precisa do papel de proprietário do WorkerPool do Cloud Build para executar essa tarefa. Para instruções sobre como conceder esse papel, consulte Configurar o acesso aos recursos do Cloud Build.
É possível criar até 10 pools particulares por projeto do Google Cloud e por região. Para criar um novo pool privado:
Console
Abra a página Pool de workers no console do Google Cloud:
Selecione o projeto em que você quer criar o pool privado.
Na página Pool de worker, clique em Criar.
O painel lateral Criar pool privado vai aparecer.
Insira as informações a seguir para criar o pool privado:
Nome: insira um nome para o pool privado. Esse valor só pode conter caracteres alfanuméricos
/[a-z][0-9]/
ou traços-
. O nome do seu pool privado precisa estar entre 1 e 63 caracteres.Região: selecione a região em que você quer que o pool particular seja criado.
Tipo de máquina: selecione o tipo de máquina do Compute Engine que você quer usar seu pool privado.
Tamanho do disco disponível: insira um tamanho do disco para seu pool particular. Especifique um valor maior ou igual a 100 e menor ou igual a 4000. Se não for informado, o Cloud Build vai usar um tamanho de disco de 100.
Em Tipo de rede, selecione uma das seguintes opções:
Rede padrão: selecione esta opção se a instância for acessíveis pela Internet pública. Quando a configuração Rede padrão for selecionada, seu pool privado usará o serviço rede de produtores. Para mais informações, consulte Configurar o ambiente para usar pools particulares em uma rede VPC.
Rede privada: selecione esta opção se a instância estiver hospedada em uma rede privada.
Projeto: selecione o ID do projeto do Google Cloud.
Rede: selecione sua rede no menu suspenso. Se você não tiver criado uma rede, consulte Criar e gerenciar redes VPC redes para saber como criar uma rede.
Intervalo de IP: insira o intervalo de IP interno em que o A rede do produtor do Cloud Build pode usar para alocar VMs que mantêm uma conexão com repositórios privados.
É possível especificar o intervalo usando a notação de roteamento do roteamento entre domínios sem classe (CIDR) no formato
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE
. Por exemplo,192.0.2.0/24
tem um comprimento de prefixo de 24. Os primeiros 24 bits do intervalo de IP são usados como máscara de sub-rede (192.0.2.0
), enquanto os possíveis endereços de host variam de192.0.2.0
a192.0.2.255
.O valor do comprimento do prefixo não pode exceder
/29
. Em caso negativo for especificado para o intervalo, um valor padrão/24
será atribuído automaticamente. Se nenhum valor for especificado para o tamanho do prefixo, os endereços IP serão atribuídos automaticamente na rede VPC com peering. Se nenhum valor for especificado para o IP endereço IP recebe automaticamente um intervalo dentro da rede VPC com peering.
Atribuir IPs externos: essa opção é selecionada por padrão para permitir IPs para acessar a Internet pública. Desmarque esta caixa para restringir o acesso à sua rede privada.
Clique em Criar para criar seu pool particular.
gcloud
Você tem duas opções para criar um novo pool particular usando gcloud
: é possível passar no arquivo de configuração do pool particular para o comando gcloud
ou passar as opções de configuração diretamente para o gcloud
.
Como transmitir o arquivo de configuração do pool particular para o comando gcloud
:
Crie o arquivo de configuração do pool particular no formato YAML ou JSON.
Execute o seguinte comando
gcloud
, em quePRIVATEPOOL_ID
é um identificador exclusivo para seu pool particular,PRIVATEPOOL_CONFIG_FILE
é o nome do arquivo de configuração do pool particular eREGION
é o região em que você quer criar o pool particular:gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
O resultado será semelhante a este:
Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool]. NAME CREATE_TIME STATUS private-pool 2018-11-19T16:08:24+00:00 RUNNING
Como passar as opções de configuração diretamente para o comando gcloud
:
Execute o seguinte comando gcloud
:
gcloud builds worker-pools create PRIVATEPOOL_ID \
--project=PRIVATEPOOL_PROJECT_ID \
--region=REGION \
--peered-network=PEERED_NETWORK \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
--no-public-egress
Substitua os valores dos marcadores nos comandos acima pelo seguinte:
PRIVATEPOOL_ID
: um identificador exclusivo para seu pool particular. Esse valor precisa ter de 1 a 63 caracteres, e os caracteres válidos são[a-zA-Z0-9_-]+
.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud em que você quer criar o pool privado.REGION
: uma das regiões compatíveis.PEERED_NETWORK
: o URL do recurso da rede que está em peering com a rede do produtor de serviços.PEERED_NETWORK
precisa estar no formatoprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
, em queNETWORK_PROJECT_ID
é o ID do projeto do o projeto do Google Cloud que contém a rede VPC eNETWORK_NAME
é o nome da sua rede VPC. Se você não especificar um valor, o Cloud Build usará a rede do provedor de serviços.PRIVATEPOOL_DISK_SIZE_GB
: o tamanho do disco anexado ao pool particular. Especifique um valor maior ou igual a 100 e menor ou igual a 4.000. Se não for fornecido, o Cloud Build usará um tamanho de disco de 100.--worker-disk-size
será modificado se você especificar um tamanho de disco diferente usando--disk-size
durantegcloud builds submit
.PRIVATEPOOL_MACHINE_TYPE
: o tipo de máquina do worker. Se deixado em branco, o Cloud Build usará o valor padrão dee2-standard-2
. Para uma lista de tipos de máquina compatíveis, consulte Esquema de arquivo de configuração do pool particular.--worker-machine-type
: será modificado se você especificar um tipo de máquina diferente usando--machine-type
durantegcloud builds submit
.--no-public-egress
: se essa sinalização for definida, o pool privado será criado sem um endereço IP externo. Defina essa sinalização se estiver criando o pool particular em um perímetro do VPC Service Controls.
API
Crie o arquivo de configuração do pool particular chamado
workerpool.json
.Use cURL para chamar a API Cloud Build:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
Substitua os valores de marcador no comando acima pelo seguinte:
PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud em que você quer criar o pool privado.PRIVATEPOOL_ID
: o ID do pool particular. Esse valor precisa ter de 1 a 63 caracteres, e os caracteres válidos são[a-zA-Z0-9_-]+
.REGION
: uma das regiões compatíveis para criar seu pool particular.
Como criar um pool privado em um perímetro do VPC Service Controls
Se você estiver criando um pool privado em um perímetro do VPC Service Controls, consulte Como usar o VPC Service Controls.
Como atualizar um pool privado
Permissões do IAM: você precisa do papel de editor do WorkerPool do Cloud Build para executar essa tarefa. Para instruções sobre como conceder esse papel, consulte Como configurar o acesso aos recursos do Cloud Build.
É possível atualizar o tamanho do disco e o tipo de máquina de um pool particular. Para atualizar um pool privado:
Console
Abra a página Pool de workers no console do Google Cloud:
Selecione o projeto em que você criou o pool particular.
Clique no nome do pool particular.
No painel lateral Editar pool particular, atualize o tipo de máquina e/ou o tamanho do disco.
Clique em Save.
gcloud
Como atualizar o arquivo de configuração do pool particular:
Atualize o campo a ser alterado no arquivo de configuração do pool particular.
Execute este comando, em que
PRIVATEPOOL_ID
é o identificador exclusivo do seu pool privado,REGION
é a região em que o pool privado está localizado, ePRIVATEPOOL_CONFIG_FILE
é o nome do arquivo de configuração do pool privado:gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
Passe o valor para atualizar diretamente para o comando gcloud builds
worker-pools update
:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
Substitua os valores dos marcadores nos comandos acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular atual; Não é possível atualizar esse valor; é preciso especificar um código de pool particular existente.REGION
: a região em que você criou o pool particular.PRIVATEPOOL_DISK_SIZE
: o tamanho do disco atualizado.PRIVATEPOOL_MACHINE_TYPE
é o tipo de máquina atualizado.
API
No arquivo de configuração do pool particular, atualize o tamanho do disco e/ou o tipo de máquina.
Use cURL para chamar a API Cloud Build, com a substituição das variáveis pelos valores adequados:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \ -d @workerpool.json
Substitua os valores de marcador no comando acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud que contém seu pool privado.REGION
: a região em que você criou o pool particular.
Como visualizar os detalhes do pool privado
Permissões do IAM: você precisa do papel de leitor do WorkerPool do Cloud Build para executar essa tarefa. Para instruções sobre como conceder esse papel, consulte Como configurar o acesso aos recursos do Cloud Build.
Para ver os detalhes de um pool particular, siga estas etapas:
Console
Abra a página Pool de workers no console do Google Cloud:
Selecione o projeto em que você criou o pool particular
Clique no nome do pool particular.
Será exibido o painel lateral Editar pool privado, que contém os detalhes do pool privado.
gcloud
Se você não souber o ID do pool particular, execute o seguinte comando para listar os detalhes do pool particular:
gcloud builds worker-pools list --project=PRIVATEPOOL_PROJECT_ID
em que PRIVATEPOOL_PROJECT_ID
é o ID do projeto do Google Cloud que
contém o pool privado.
O resultado será semelhante a este:
NAME CREATE_TIME STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID] 2018-11-19T16:08:24+00:00 RUNNING
Se você souber o ID do pool particular, execute o seguinte comando para receber mais informações sobre o pool:
gcloud builds worker-pools describe PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Substitua os valores de marcador no comando acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular.REGION
: a região em que você criou o pool particular.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud que contém seu pool privado.
API
Se você não souber o ID do pool privado, execute o seguinte
comando cURL para
liste os detalhes do pool privado, em que PRIVATEPOOL_PROJECT_ID
é o ID do projeto do Google Cloud que contém o pool privado:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools
Se você souber o ID do pool privado, execute o seguinte comando cURL para ver os detalhes do pool particular:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Substitua os valores dos marcadores nos comandos acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud que contém seu pool privado.REGION
: a região em que você criou o pool particular.
Como excluir um pool particular
Permissões do IAM: você precisa do papel de proprietário do WorkerPool do Cloud Build para executar essa tarefa. Para instruções sobre como conceder esse papel, consulte Como configurar o acesso aos recursos do Cloud Build.
Para excluir um pool particular, siga estas etapas:
Console
Abra a página Pool de workers no console do Google Cloud:
Na linha do seu pool particular, clique no ícone da lixeira.
gcloud
Para excluir um pool particular, execute o comando gcloud builds worker-pools
delete
:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Substitua os valores de marcador no comando acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud que contém seu pool privado.REGION
: a região em que você criou o pool particular.
Depois que o pool privado for excluído, você verá uma saída semelhante a esta:
Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].
API
Use cURL para chamar a API Cloud Build:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Substitua os valores dos marcadores nos comandos acima pelo seguinte:
PRIVATEPOOL_ID
: o ID do pool particular.PRIVATEPOOL_PROJECT_ID
: o ID do projeto do Google Cloud que contém seu pool privado.REGION
: a região em que você criou o pool particular.
A seguir
- Saiba como executar builds em pools particulares.
- Saiba como usar o VPC Service Controls com pools privados.