Se você tiver código-fonte ou funções em um repositório Git e quiser automatizar compilações e configurar implantações contínuas de um repositório, use o Cloud Build ou o Developer Connect no console do Cloud Run.
Ao configurar isso, o Cloud Run usa um gatilho 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 (prévia), 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. -
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Se você selecionar a opção Developer Connect (prévia), 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 Developer Connect (prévia):
- 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 APIsGoogle 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:
Se você estiver criando um novo serviço, clique em Conectar repositório para mostrar o formulário Criar serviço.
Se você estiver modificando um serviço atual, localize-o na lista e clique nele. Clique em Conectar ao repositório.
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 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. Pode levar alguns instantes para carregar a lista de repositórios. Siga as instruções 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 seu 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 origem deve ser usada 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 houver correspondência exata de uma ramificação, 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 contiver 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 estar relacionados 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 Ponto de entrada (opcional), forneça o comando para iniciar o
servidor. Por exemplo,
gunicorn -p :8080 main:apppara Python ejava -jar target/myjar.jarpara Java. Deixe 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 será recarregada e você voltará 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, em que poderá acompanhar o progresso da configuração de criação e implantação do repositório.
Depois de concluir todas as etapas, você pode:
- Clique em Editar configurações do repositório no console do Cloud Run para editar o gatilho do Cloud Build no console do Cloud Build.
- Clique no link registros na etapa Criando e implantando do repositório para ver o histórico de builds.
- Consulte 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 do Cloud Build ao serviço do Cloud Run
Se você já tiver um gatilho 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:
Selecione seu serviço.
Para o serviço selecionado, clique em Rótulos na parte de cima da página para abrir o painel Rótulos.
Adicione um rótulo com gcb-trigger-id como chave e o identificador exclusivo do gatilho 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 que bloqueiam pop-ups 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 Instalar 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 será 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 uma vida útil máxima 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 conferir 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, digite 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 uma vida útil máxima 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 conferir 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 seu 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 conferir 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 Bitbucket Data Center 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 conferir 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 origem deve ser usada 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 houver correspondência exata de uma ramificação, 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 contiver 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 estar relacionados 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 Ponto de entrada (opcional), forneça o comando para iniciar o
servidor. Por exemplo,
gunicorn -p :8080 main:apppara Python ejava -jar target/myjar.jarpara Java. Deixe 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.
Quando terminar de configurar o 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.