Neste documento, explicamos como executar builds em pools particulares. Se você estiver começando a usar os pools particulares, leia a Visão geral dos pools particulares.
Antes de começar
Verifique se você criou um pool particular usando as etapas em Como criar e gerenciar pools particulares.
Para usar os exemplos de linha de comando neste guia, instale e configure a Google Cloud CLI.
É possível usar o mesmo projeto do Google Cloud para criar seu pool particular e os builds do Cloud Build ou usar projetos diferentes. Se as versões estiverem em um projeto diferente do pool particular, defina o projeto padrão na CLI gcloud como o projeto de origem das versões:
gcloud config set project BUILD_ORIGIN_PROJECT_ID
Permissões do IAM
Para executar versões usando a CLI gcloud ou a API Cloud Build, conceda o papel Usuário do workerPool no projeto do pool particular ao usuário ou à conta de serviço que solicitar a versão.
Para executar versões automatizadas usando acionadores:
- Se o projeto em que você está iniciando a versão for o mesmo em que o pool privado se encontra, não será necessário conceder permissões.
Se o projeto em que você está iniciando a compilação for diferente do projeto em que o pool privado existe, conceda o papel Usuário do pool de workers à conta de serviço do Cloud Build do projeto do gatilho na o projeto workerpool em que os builds são criados:
Console
Abra a página do IAM no console do Google Cloud.
No menu suspenso do seletor do projeto, na parte superior da página, selecione o projeto que contém o pool particular.
Clique em Conceder acesso.
Insira as seguintes configurações principais e de função:
Adicionar participantes: insira o endereço de e-mail padrão da conta de serviço do Cloud Build do projeto que contém o gatilho de compilação. Para encontrar esse endereço de e-mail, siga estas etapas:
- Abrir a página do IAM
- Selecione o projeto que contém o gatilho de compilação.
- Na tabela de permissões, localize o endereço de e-mail que termina com
@cloudbuild.gserviceaccount.com
. Esta é sua conta de serviço do Cloud Build.
Atribuir papéis: selecione o papel de usuário do pool de workers do Cloud Build.
Clique em Salvar para salvar as novas permissões do IAM.
gcloud
Para adicionar a conta de serviço padrão do Cloud Build do projeto de gatilho ao projeto do pool de workers com o papel cloudbuild.workerPoolUser:
gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \ --member=serviceAccount:TRIGGER_PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/cloudbuild.workerPoolUser
Substitua os valores de marcador no comando acima pelo seguinte:
PRIVATEPOOL_PROJECT_ID
é o ID do projeto com o pool particular executando a versão.TRIGGER_PROJECT_NUMBER
é o número do projeto com o gatilho que executa o build.
Como executar versões
É possível enviar versões do mesmo projeto do Google Cloud em que você criou o pool particular ou de um projeto diferente do Google Cloud. É possível especificar
o pool particular no arquivo de configuração do build ou diretamente no comando gcloud
:
Como especificar o pool particular no arquivo de configuração do build:
No arquivo de configuração do Cloud Build, adicione uma opção
pool
e especifique o nome completo do recurso do pool particular para executar o build:YAML
steps: - name: 'bash' args: ['echo', 'I am running in a private pool!'] options: pool: name: 'projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID'
JSON
{ "steps": [ { "name": "bash", "args": [ "echo", "I am running in a private pool!" ] } ], "options": { "pool" : { "name" : "projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID" } } }
Substitua os valores de marcador no arquivo de configuração acima pelo seguinte:
PRIVATEPOOL_PROJECT_ID
: o projeto do Google Cloud em que seu pool particular está localizado.REGION
: a região em que você criou o pool particular.PRIVATEPOOL_ID
: o ID do pool particular exclusivo que você especificou ao criar o pool particular.
Use o arquivo de configuração do build criado acima para executar seu build via
gcloud
ou API ou usando gatilhos. Se a instância estiver hospedada no local, o Cloud Build também oferecerá suporte à funcionalidade do gatilho para vários sistemas de gerenciamento de código-fonte externos, como GitHub Enterprise ou Bitbucket Server.
Como especificar o pool particular no comando gcloud:
É possível especificar o pool particular no comando gcloud
em vez de no
arquivo de configuração do build. Por exemplo, considere que você tenha o seguinte arquivo de configuração
do build:
YAML
steps:
- name: 'bash'
args: ['echo', 'I am running in a private pool!']
JSON
{
"steps": [
{
"name": "bash",
"args": [
"echo",
"I am running in a private pool!"
]
}
],
}
O comando a seguir cria usando o arquivo de configuração do build e especifica o pool de workers no comando:
gcloud builds submit --config=CONFIG_FILE
--worker-pool=projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Substitua os valores dos marcadores nos comandos acima pelo seguinte:
CONFIG_FILE
: o caminho para o arquivo de configuração do build.PRIVATEPOOL_ID
: o ID do pool particular exclusivo que você especificou ao criar o pool particular.PRIVATEPOOL_PROJECT_ID
: o projeto do Google Cloud em que seu pool particular está localizado.REGION
: a região em que você criou o pool particular.
A seguir
- Saiba como criar e gerenciar pools privados.
- Saiba como usar o VPC Service Controls com pools privados.
- Saiba como criar e gerenciar gatilhos de compilação.
- Saiba como criar repositórios do GitHub Enterprise.
- Saiba como criar repositórios do Bitbucket Server.