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.
Ao configurar isso, o Cloud Run usa um gatilho de build do Cloud Build para criar e implantar seu código automaticamente 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 Google Cloud console do 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 realizar a implantação contínua por meio do 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.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. 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 de uso do serviço (
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:
- Acessador de token de leitura do Developer Connect (
roles/developerconnect.readTokenAccessor) - Se você estiver se conectando a repositórios do GitLab ou 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 Google Cloud APIs, 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
Noconsol, acesse a página do Cloud Run: Google Cloud
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 de serviços e clique nele. Clique em Conectar-se 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
Noconsol, acesse a página do Cloud Run: Google Cloud
Na lista, localize e clique no serviço.
Clique em Conectar-se 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. Observe que leva alguns instantes para carregar a lista de repositórios. Siga a instrução e clique em Próxima.
O GitHub é o provedor de repositório padrão. Se você ainda tiver feito sua autenticação, clique em Autenticar e siga as instruções. Para conectar um repositório, use o aplicativo 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 acesso ao repositório no Cloud Build.
Na etapa Configuração do build, preencha as opções:
Ramificação
- Indica qual origem será usada ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondidas 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: se o repositório precisar ser criado usando o Docker e ele contiver um Dockerfile, selecione essa opção.
- Em Local de origem, especifique o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos devem ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP usando buildpacks do Google Cloud: Se o repositório precisar ser criado usando buildpacks, selecione essa opção.
- No Diretório de contexto do 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 este campo em branco para usar o comportamento padrão. - Em Função de destino (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, em que poderá acompanhar o progresso da configuração de criação e implantação do repositório.
Depois que todas as etapas forem concluídas, 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 Criar e implantar 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
Veja Como configurar manualmente a implantação contínua se precisar usar um procedimento manual em vez da UI.
Anexar o gatilho de build existente 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:
Noconsol, acesse a página do Cloud Run: Google Cloud
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 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 você não encontrar o repositório que quer selecionar, clique em Vincular novo repositório para abrir o painel Vincular novos repositórios pelo 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 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-se a repositórios usando as instruções a seguir. As instruções que aparecem no navegador da Web dependem de a conta do GitHub já ter o app GitHub do Cloud Run instalado.
Na caixa de diálogo do Cloud Run, siga estas etapas:
Se você vir uma lista de contas do GitHub, 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 você vir uma instrução para reutilizar uma instalação de app atual, escolha onde configurar o app seguindo estas etapas:
Clique em Conta do GitHub para conferir as contas que têm o app do Google Cloud Run instalado. Se você encontrar a conta que quer usar, clique em Confirmar.
Se você não encontrar a conta que quer usar, 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
apiescopo. - Ler token de acesso à API: insira o token de acesso pessoal com
read_apiescopo.
Você é responsável por garantir que os 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 tokens, consulte a documentação do GitLab sobre tokens de acesso pessoal.
Para mais informações, consulte a documentação do GitLab sobre a expiração de tokens de acesso pessoal.
- Token de acesso à API: insira o token de acesso pessoal com
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 que o Cloud Run cria.
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
apiescopo. - Ler token de acesso à API: insira o token de acesso pessoal com
read_apiescopo.
Você é responsável por garantir que os 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 tokens, consulte a documentação do GitLab sobre tokens de acesso pessoal.
Para mais informações, consulte a documentação do GitLab sobre a expiração de tokens de acesso pessoal.
- Token de acesso à API: insira o token de acesso pessoal com
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 que o Cloud Run cria.
Bitbucket
Para a opção Bitbucket Cloud:
Em Workspace, insira o ID do workspace 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 que o Cloud Run cria.
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 acesso ao 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 que o Cloud Run cria.
Clique em Conectar. Esse processo pode levar alguns segundos.
Na etapa Configuração do build, preencha as opções:
Ramificação
- Indica qual origem será usada ao executar o gatilho. É possível colocar o regex aqui. As ramificações correspondidas 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: se o repositório precisar ser criado usando o Docker e ele contiver um Dockerfile, selecione essa opção.
- Em Local de origem, especifique o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos devem ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP usando buildpacks do Google Cloud: Se o repositório precisar ser criado usando buildpacks, selecione essa opção.
- No Diretório de contexto do 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 este campo em branco para usar o comportamento padrão. - Em Função de destino (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.