Se você tiver código-fonte ou funções em um repositório Git e quiser automatizar builds e configurar implantações contínuas de um repositório, use o Cloud Build ou o Developer Connect no console do Cloud Run.
Quando você configura isso, o Cloud Run usa um gatilho de build do Cloud Build para criar e implantar automaticamente seu código sempre que novos commits forem enviados para uma determinada ramificação de um repositório Git. As informações do repositório de origem são exibidas no console do Google Cloud para o serviço após a implantação no Cloud Run.
No console do Cloud Run:
Se você selecionar o Cloud Build, poderá configurar implantações contínuas do GitHub. Por exemplo, consulte o guia de início rápido sobre como criar um repositório de modelos e fazer a implantação contínua pelo git.
Se você selecionar o Developer Connect, poderá configurar implantações contínuas de repositórios do GitHub, GitLab e Bitbucket.
Também é possível usar o Cloud Deploy para configurar um pipeline de entrega contínua que implanta serviços do Cloud Run em vários ambientes.
Antes de começar
- Você tem um repositório Git com um
Dockerfileou sua base de código é escrita em uma das linguagens aceitas pelos buildpacks do Google Cloud. Ative a API Cloud Build, se ela ainda não estiver ativada.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.Se você selecionar a opção Developer Connect, ative a API Developer Connect:
Funções exigidas
Para receber as permissões necessárias para implantar os serviços do Cloud Run a partir do Git usando o Cloud Build ou o Developer Connect, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
- Administrador do Artifact Registry (
roles/artifactregistry.admin) - Editor do Cloud Build (
roles/cloudbuild.builds.editor) - Desenvolvedor do Cloud Run (
roles/run.developer) - Usuário da conta de serviço (
roles/iam.serviceAccountUser) - Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin)
A conta de serviço que executa o build precisa ter os seguintes papéis:
- Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder) - Administrador do Cloud Run (
roles/run.admin) - Usuário da conta de serviço (
roles/iam.serviceAccountUser) - Se você selecionar a opção do Developer Connect:
- Acessador de token de leitura do Developer Connect (
roles/developerconnect.readTokenAccessor) - Se você estiver se conectando a repositórios do GitLab ou do Bitbucket: Acessador de secrets do Secret Manager (
roles/secretmanager.secretAccessor)
- Acessador de token de leitura do Developer Connect (
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o serviço do Cloud Run interage com APIs doGoogle Cloud , como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar a implantação contínua no console do Cloud Run
O procedimento varia um pouco quando você está configurando a implantação contínua em um novo serviço ou em um atual. Clique na guia apropriada para saber mais.
Novo serviço
No console Google Cloud , acesse a página do Cloud Run:
Clique em Conectar repositório para exibir o formulário Criar serviço.
Selecione Cloud Build ou Developer Connect.
Se você selecionou Cloud Build, consulte Configurar com o Cloud Build.
Se você selecionou Developer Connect, consulte Configurar com o Developer Connect.
Serviço atual
No console Google Cloud , acesse a página do Cloud Run:
Na lista, localize e clique no serviço.
Clique na guia Origem.
Clique em Conectar ao repositório e siga as instruções em Configurar com o Cloud Build.
Configurar com o Cloud Build
No painel Configurar com o Cloud Build:
Selecione um repositório na lista. A lista de repositórios leva alguns instantes para ser carregada. Siga a instrução e clique em Próxima.
O GitHub é o provedor de repositório padrão. Se você ainda não tiver feito sua autenticação, clique em Autenticar e siga as instruções. Para conectar um repositório, use o app GitHub do Cloud Build.
Se você não encontrar o repositório, clique no link Gerenciar repositórios conectados. Siga as instruções para conceder ao seu repositório acesso ao Cloud Build.
Na etapa Configuração do build, preencha as opções:
Ramificação
- Indica qual código-fonte precisa ser usado ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondentes são verificadas automaticamente e podem ser vistas abaixo da entrada. Se exatamente uma ramificação for correspondente, o gatilho será executado automaticamente após a criação.
Tipo de build
Dockerfile: selecione essa opção se o repositório precisar ser criado usando o Docker e tiver um Dockerfile.
- Em Local de origem, especifique o local e o nome do Dockerfile. Esse diretório será usado como o contexto de build do Docker. Todos os caminhos precisam ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP via buildpacks do Google Cloud: se o repositório precisar ser criado usando buildpacks, selecione essa opção.
- Em Diretório de contexto de build, especifique o diretório.
- Em Entrypoint (opcional), forneça o comando para iniciar o
servidor. Por exemplo,
gunicorn -p :8080 main:apppara Python ejava -jar target/myjar.jarpara Java. Deixe este campo em branco para usar o comportamento padrão. - Em Destino da função (somente para implantações de função), insira a função a ser invocada. Caso contrário, deixe este campo em branco.
Clique em Salvar.
A página é recarregada e você volta ao formulário Criar serviço.
Verifique as configurações selecionadas na seção Repositório de origem.
Preencha o restante do formulário em Configurar.
Clique em Criar.
Você será redirecionado para a página Detalhes do serviço, onde poderá acompanhar o progresso da configuração de build e implantação do repositório.
Depois de concluir todas as etapas, você poderá:
- Clique em Editar configurações do repositório no console do Cloud Run para editar o gatilho de build do Cloud Build no console do Cloud Build.
- Clique no link Registros na etapa Criando e implantando do repositório para conferir o histórico de builds.
- Confira os detalhes da origem na seção Detalhes da revisão.
Configurar a implantação contínua de modo manual
Confira Como configurar manualmente a implantação contínua se precisar usar um procedimento manual em vez da UI.
Anexar o gatilho de build do Cloud Build ao serviço do Cloud Run
Se você já tiver um gatilho de build do Cloud Build, poderá anexá-lo ao serviço adicionando um rótulo ao serviço do Cloud Run.
Para adicionar um rótulo no console do Cloud Run:
No console Google Cloud , acesse a página do Cloud Run:
Marque a caixa de seleção ao lado do serviço.
Clique em Marcadores na parte de cima da página para abrir o painel Marcadores.
Adicione um rótulo com gcb-trigger-id como chave e o identificador exclusivo do gatilho de build do Cloud Build como valor (não o nome do gatilho). Se a chave gcb-trigger-id já existir, modifique o valor. Consulte Definir ou modificar rótulos para configurar o rótulo.
Configurar com o Developer Connect
No painel Configurar com o Developer Connect:
Selecione um repositório e clique em Próxima.
Se o repositório que você quer selecionar não aparecer, clique em Vincular novo repositório para abrir o painel Vincular novos repositórios via Developer Connect. Clique na guia apropriada para saber mais sobre como se conectar a um dos provedores de gerenciamento de código-fonte.
GitHub
Para as opções GitHub, GitHub Enterprise Cloud e GitHub Enterprise, clique em Conectar.
Se uma caixa de diálogo não aparecer, desative todos os plug-ins do navegador de bloqueio de pop-up e verifique se as configurações do navegador permitem pop-ups. Por exemplo, no Chrome, siga as instruções para permitir pop-ups.
Conceda permissões na sua conta do GitHub e vincule aos repositórios usando as instruções a seguir. Os comandos que aparecem no navegador da Web dependem de se a conta do GitHub já tem o app GitHub do Cloud Run instalado.
Na caixa de diálogo do Cloud Run, siga estas etapas:
Se uma lista de contas do GitHub aparecer, instale o app e vincule repositórios seguindo estas etapas:
Escolha a conta do GitHub que você quer usar.
Selecione um ou mais repositórios a que você quer conceder acesso.
Se aparecer uma solicitação para reutilizar uma instalação de app, escolha onde configurar o app seguindo estas etapas:
Clique em Conta do GitHub para ver as contas que têm o app Google Cloud Run instalado. Se a conta que você quer usar aparecer, clique em Confirmar.
Se a conta que você quer usar não aparecer, faça o seguinte:
Escolha Instale o app GitHub em outra conta do GitHub e clique em Confirmar.
Siga as etapas do GitHub para permitir a instalação do app.
Selecione um ou mais repositórios a que você quer conceder acesso.
Quando a caixa de diálogo for fechada, a instalação do app estará concluída.
GitLab
Para a opção GitLab:
-
Na seção Tokens de acesso pessoal, insira os tokens da sua conta:
- Token de acesso à API: insira o token de acesso pessoal com o escopo
api. - Ler token de acesso à API: insira o token de acesso pessoal com o escopo
read_api.
Você é responsável por garantir que seus tokens do GitLab permaneçam válidos. Os tokens do GitLab têm um tempo de vida máximo de 365 dias, a menos que especificado de outra forma pelo criador do token ou por um administrador. Para saber como gerenciar as configurações e notificações de expiração de token, consulte a documentação do GitLab sobre tokens de acesso pessoal.
Para mais informações, consulte a documentação do GitLab sobre expiração de tokens de acesso pessoal (em inglês).
- Token de acesso à API: insira o token de acesso pessoal com o escopo
Clique em Mostrar mais para ver as configurações opcionais.
- Opcional: na seção Criptografia, selecione uma chave CMEK para criptografar os secrets do Secret Manager criados pelo Cloud Run.
GitLab Enterprise Edition
Para a opção GitLab Enterprise Edition:
Em URL do host, insira o URL do host a que você quer se conectar.
-
Na seção Tokens de acesso pessoal, insira os tokens da sua conta:
- Token de acesso à API: insira o token de acesso pessoal com o escopo
api. - Ler token de acesso à API: insira o token de acesso pessoal com o escopo
read_api.
Você é responsável por garantir que seus tokens do GitLab permaneçam válidos. Os tokens do GitLab têm um tempo de vida máximo de 365 dias, a menos que especificado de outra forma pelo criador do token ou por um administrador. Para saber como gerenciar as configurações e notificações de expiração de token, consulte a documentação do GitLab sobre tokens de acesso pessoal.
Para mais informações, consulte a documentação do GitLab sobre expiração de tokens de acesso pessoal (em inglês).
- Token de acesso à API: insira o token de acesso pessoal com o escopo
Clique em Mostrar mais para ver as configurações opcionais.
- Opcional: na seção Criptografia, selecione uma chave CMEK para criptografar os secrets do Secret Manager criados pelo Cloud Run.
Bitbucket
Para a opção Bitbucket Cloud:
Em Workspace, insira o ID do espaço de trabalho do Bitbucket Cloud.
Na seção Tokens de acesso, insira seus tokens de acesso do Bitbucket:
- Token de acesso do autorizador: insira seu token de acesso do autorizador.
- Token de acesso de leitura: insira seu token de acesso de leitura.
Clique em Mostrar mais para ver as configurações opcionais.
- Opcional: na seção Criptografia, selecione uma chave CMEK para criptografar os secrets do Secret Manager criados pelo Cloud Run.
Data center do Bitbucket
Para a opção Data Center do Bitbucket:
Em URL do host, insira o URL do host do Data Center do Bitbucket a que você quer se conectar.
Na seção Tokens de acesso, insira seus tokens de acesso do Bitbucket Cloud:
Token de acesso de administrador: insira o token com acesso ao escopo de administrador do repositório.
Token de acesso de leitura: insira o token com o acesso de escopo de leitura do repositório.
Clique em Mostrar mais para ver as configurações opcionais.
- Opcional: na seção Criptografia, selecione uma chave CMEK para criptografar os secrets do Secret Manager criados pelo Cloud Run.
Clique em Conectar. Esse processo pode levar alguns segundos.
Na etapa Configuração do build, preencha as opções:
Ramificação
- Indica qual código-fonte precisa ser usado ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondentes são verificadas automaticamente e podem ser vistas abaixo da entrada. Se exatamente uma ramificação for correspondente, o gatilho será executado automaticamente após a criação.
Tipo de build
Dockerfile: selecione essa opção se o repositório precisar ser criado usando o Docker e tiver um Dockerfile.
- Em Local de origem, especifique o local e o nome do Dockerfile. Esse diretório será usado como o contexto de build do Docker. Todos os caminhos precisam ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP via buildpacks do Google Cloud: se o repositório precisar ser criado usando buildpacks, selecione essa opção.
- Em Diretório de contexto de build, especifique o diretório.
- Em Entrypoint (opcional), forneça o comando para iniciar o
servidor. Por exemplo,
gunicorn -p :8080 main:apppara Python ejava -jar target/myjar.jarpara Java. Deixe este campo em branco para usar o comportamento padrão. - Em Destino da função (somente para implantações de função), insira a função a ser invocada. Caso contrário, deixe este campo em branco.
Clique em Salvar.
Preencha o restante do formulário em Configurar.
Após concluir a configuração do serviço, clique em Criar para implantar a imagem no Cloud Run e aguarde a conclusão da implantação.
Clique no link do URL exibido para abrir o endpoint exclusivo e estável do serviço implantado.