Se tiver código fonte ou funções num repositório Git e quiser automatizar as compilações e configurar implementações contínuas a partir de um repositório, pode usar o Cloud Build ou o Developer Connect na consola do Cloud Run.
Quando configura esta opção, o Cloud Run usa um acionador do Cloud Build para compilar e implementar automaticamente o seu código sempre que novos commits são enviados para um determinado ramo de um repositório Git. As informações do repositório de origem são apresentadas na Google Cloud consola do seu serviço depois de implementar no Cloud Run.
Na consola do Cloud Run:
Se selecionar o Cloud Build, pode configurar implementações contínuas a partir do GitHub. Para ver um exemplo, consulte o guia de início rápido para criar um repositório de modelos e implementar continuamente a partir do git.
Se selecionar Developer Connect (pré-visualização), pode configurar implementações contínuas a partir de repositórios do GitHub, GitLab e Bitbucket.
Em alternativa, pode usar o Cloud Deploy para configurar um pipeline de entrega contínua para implementar serviços do Cloud Run em vários ambientes.
Antes de começar
- Tem um repositório git com um
Dockerfileou a sua base de código está escrita num dos idiomas suportados 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 selecionar a opção Developer Connect (pré-visualização), ative a API Developer Connect:
Funções necessárias
Para receber as autorizações de que precisa para implementar serviços do Cloud Run a partir do Git através do Cloud Build ou do Developer Connect, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto:
-
Administrador do Artifact Registry (
roles/artifactregistry.admin) -
Editor do Cloud Build (
roles/cloudbuild.builds.editor) -
Cloud Run Developer (
roles/run.developer) -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser) -
Administrador de utilização de serviços (
roles/serviceusage.serviceUsageAdmin)
A conta de serviço que executa a compilação tem de ter as seguintes funções:
- Conta de serviço do Cloud Build (
roles/cloudbuild.builds.builder) - Administrador do Cloud Run (
roles/run.admin) - Utilizador da conta de serviço (
roles/iam.serviceAccountUser) - Se selecionar a opção Developer Connect (pré-visualização):
- Developer Connect Read Token Accessor (
roles/developerconnect.readTokenAccessor) - Se estiver a estabelecer ligação a repositórios do GitLab ou Bitbucket: Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor)
- Developer Connect Read Token Accessor (
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu serviço do Cloud Run interage com Google Cloud APIs, como as bibliotecas cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Configure a implementação contínua a partir da consola do Cloud Run
O procedimento de configuração varia ligeiramente consoante esteja a configurar a implementação contínua num novo serviço ou num serviço existente. Clique no separador adequado para saber mais.
Novo serviço
Na Google Cloud consola, aceda à página do Cloud Run:
Se estiver a criar um novo serviço, clique em Associar repositório para apresentar o formulário Criar serviço.
Se estiver a modificar um serviço existente, localize-o na lista de serviços e clique nele. Clique em Associar ao repositório.
Selecione Cloud Build ou Developer Connect.
Se selecionou Cloud Build, consulte o artigo Configurar com o Cloud Build.
Se selecionou Developer Connect, consulte o artigo Configure com o Developer Connect.
Serviço existente
Na Google Cloud consola, aceda à página do Cloud Run:
Localize o serviço na lista de serviços e clique nele.
Clique em Associar ao repositório e siga as instruções em Configurar com o Cloud Build.
Configure com o Cloud Build
No painel Configurar com o Cloud Build:
Selecione um repositório na lista. Tenha em atenção que o carregamento da lista de repositórios demora alguns momentos. Siga a instrução e clique em Seguinte.
O GitHub é o fornecedor de repositórios predefinido. Se ainda não tiver feito a autenticação, clique em Autenticar e siga as instruções. A associação de um repositório é feita através da app GitHub do Cloud Build.
Se não conseguir encontrar o seu repositório, clique no link Gerir repositórios associados. Siga as instruções para conceder ao seu repositório acesso ao Cloud Build.
No passo Configuração da criação, preencha as opções:
Branch
- Indica que origem deve ser usada quando o acionador é executado. Pode colocar a regex aqui. Os ramos correspondentes são validados automaticamente: pode vê-los abaixo da entrada. Tenha em atenção que, se for encontrada exatamente uma ramificação, o acionador é executado automaticamente após a criação.
Tipo de compilação
Dockerfile: se o repositório tiver de ser criado com o Docker e contiver um Dockerfile, selecione esta opção.
- Em Localização de origem, especifique a localização e o nome do Dockerfile. Este diretório vai ser usado como o contexto de compilação do Docker. Todos os caminhos devem ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP através dos buildpacks do Google Cloud: se o seu repositório tiver de ser criado com buildpacks, selecione esta opção.
- Em Criar diretório de contexto, especifique o diretório.
- Em Entrypoint (opcional), indique 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 predefinido. - Em Alvo da função (apenas para implementações de funções), introduza a função a invocar. Caso contrário, deixe este campo em branco.
Clique em Guardar.
A página é recarregada e volta a apresentar o formulário Criar serviço.
Verifique as definições selecionadas na secção Repositório de origem.
Preencha o resto do formulário em Configurar.
Clique em Criar.
É redirecionado para a página Detalhes do serviço, onde pode acompanhar o progresso da configuração de compilação e implementação a partir do repositório.
Depois de concluir todos os passos, pode:
- Clique em Editar definições do repositório na consola do Cloud Run para editar o acionador do Cloud Build na consola do Cloud Build.
- Veja o histórico de compilação clicando no link registos no passo Compilar e implementar a partir do repositório.
- Veja os detalhes da origem na secção Detalhes da revisão.
Configure a implementação contínua manualmente
Consulte o artigo Configurar a implementação contínua manualmente se precisar de usar um procedimento manual e não a IU.
Anexe um acionador do Cloud Build existente ao serviço do Cloud Run
Se já tiver um acionador do Cloud Build, pode anexá-lo ao serviço adicionando uma etiqueta ao seu serviço do Cloud Run.
Para adicionar uma etiqueta na consola do Cloud Run:
Na Google Cloud consola, aceda à página do Cloud Run:
Selecione o seu serviço.
Para o serviço selecionado, clique em Marcadores na parte superior da página para abrir o painel Marcadores.
Adicione uma etiqueta com gcb-trigger-id como chave e o identificador único do acionador do Cloud Build como valor (não o nome do acionador). Se a chave gcb-trigger-id já existir, modifique o valor. Consulte o artigo Defina ou modifique etiquetas para configurar a etiqueta.
Configure com o Developer Connect
No painel Configurar com o Developer Connect:
Selecione um repositório e clique em Seguinte.
Se não vir o repositório que quer selecionar, clique em Associar novo repositório para abrir o painel Associe novos repositórios através do Developer Connect. Clique no separador adequado para saber mais sobre a ligação a um dos fornecedores de gestão de código fonte.
GitHub
Para as opções GitHub, GitHub Enterprise Cloud e GitHub Enterprise, clique em Associar.
Se não vir uma caixa de diálogo, desative todos os plug-ins do navegador de bloqueio de pop-ups e certifique-se de que as definições do navegador permitem pop-ups. Por exemplo, no Chrome, siga as instruções para permitir pop-ups.
Conceda autorizações na sua conta do GitHub e associe-as a repositórios através das seguintes instruções. Os comandos que vê no navegador de Internet dependem de a conta do GitHub já ter a app GitHub do Cloud Run instalada.
Na caixa de diálogo do Cloud Run, conclua os seguintes passos:
Se vir uma lista de contas do GitHub, instale a app e associe repositórios ao concluir estes passos:
Escolha a conta do GitHub que quer usar.
Selecione um ou mais repositórios aos quais quer conceder acesso.
Se vir uma mensagem para reutilizar uma instalação de app existente, escolha onde configurar a app seguindo estes passos:
Clique em Conta do GitHub para ver as contas que têm a app Google Cloud Run instalada. Se vir a conta que quer usar, escolha-a clicando em Confirmar.
Se não vir a conta que quer usar, faça o seguinte:
Escolha Instalar a app GitHub noutra conta do GitHub e clique em Confirmar.
Siga os passos do GitHub para permitir a instalação de apps.
Selecione um ou mais repositórios aos quais quer conceder acesso.
Quando a caixa de diálogo for fechada, a instalação da app está concluída.
GitLab
Para a opção GitLab:
-
Na secção Tokens de acesso pessoal, introduza os tokens para a sua conta:
- Chave de acesso da API: introduza a chave de acesso pessoal com o âmbito
api. - Leia a chave de acesso à API: introduza a chave de acesso pessoal com o âmbito
read_api.
É responsável por garantir que os seus tokens do GitLab permanecem válidos. Os tokens do GitLab têm uma duração máxima de 365 dias, salvo especificação em contrário pelo criador do token ou por um administrador. Para saber como gerir as definições e as 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 do token de acesso pessoal.
- Chave de acesso da API: introduza a chave de acesso pessoal com o âmbito
Clique em Mostrar mais para ver as definições de configuração opcionais.
- Opcional: na secção Encriptação, selecione uma chave CMEK para encriptar segredos do Secret Manager que o Cloud Run cria.
GitLab Enterprise Edition
Para a opção GitLab Enterprise Edition:
Para URL do anfitrião, introduza o URL do anfitrião ao qual quer estabelecer ligação.
-
Na secção Tokens de acesso pessoal, introduza os tokens para a sua conta:
- Chave de acesso da API: introduza a chave de acesso pessoal com o âmbito
api. - Leia a chave de acesso à API: introduza a chave de acesso pessoal com o âmbito
read_api.
É responsável por garantir que os seus tokens do GitLab permanecem válidos. Os tokens do GitLab têm uma duração máxima de 365 dias, salvo especificação em contrário pelo criador do token ou por um administrador. Para saber como gerir as definições e as 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 do token de acesso pessoal.
- Chave de acesso da API: introduza a chave de acesso pessoal com o âmbito
Clique em Mostrar mais para ver as definições de configuração opcionais.
- Opcional: na secção Encriptação, selecione uma chave CMEK para encriptar segredos do Secret Manager que o Cloud Run cria.
Bitbucket
Para a opção Bitbucket Cloud:
Para o Workspace, introduza o ID do espaço de trabalho do Bitbucket Cloud.
Na secção Chaves de acesso, introduza as suas chaves de acesso do Bitbucket:
- Chave de acesso do autorizador: introduza a sua chave de acesso do autorizador.
- Chave de acesso de leitura: introduza a sua chave de acesso de leitura.
Clique em Mostrar mais para ver as definições de configuração opcionais.
- Opcional: na secção Encriptação, selecione uma chave CMEK para encriptar segredos do Secret Manager que o Cloud Run cria.
Bitbucket Data Center
Para a opção Bitbucket Data Center:
Para o URL do anfitrião, introduza o URL do anfitrião do Bitbucket Data Center ao qual quer estabelecer ligação.
Na secção Chaves de acesso, introduza as suas chaves de acesso do Bitbucket Cloud:
Chave de acesso de administrador: introduza a chave com o acesso ao âmbito de administrador do repositório.
Token de acesso de leitura: introduza o token com acesso ao âmbito de leitura do repositório.
Clique em Mostrar mais para ver as definições de configuração opcionais.
- Opcional: na secção Encriptação, selecione uma chave CMEK para encriptar segredos do Secret Manager que o Cloud Run cria.
Clique em Ligar. Este processo pode demorar alguns segundos.
No passo Configuração da criação, preencha as opções:
Branch
- Indica que origem deve ser usada quando o acionador é executado. Pode colocar a regex aqui. Os ramos correspondentes são validados automaticamente: pode vê-los abaixo da entrada. Tenha em atenção que, se for encontrada exatamente uma ramificação, o acionador é executado automaticamente após a criação.
Tipo de compilação
Dockerfile: se o repositório tiver de ser criado com o Docker e contiver um Dockerfile, selecione esta opção.
- Em Localização de origem, especifique a localização e o nome do Dockerfile. Este diretório vai ser usado como o contexto de compilação do Docker. Todos os caminhos devem ser relativos ao diretório atual.
Go, Node.js, Python, Java, .NET Core, Ruby ou PHP através dos buildpacks do Google Cloud: se o seu repositório tiver de ser criado com buildpacks, selecione esta opção.
- Em Criar diretório de contexto, especifique o diretório.
- Em Entrypoint (opcional), indique 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 predefinido. - Em Alvo da função (apenas para implementações de funções), introduza a função a invocar. Caso contrário, deixe este campo em branco.
Clique em Guardar.
Preencha o resto do formulário em Configurar.
Quando terminar a configuração do serviço, clique em Criar para implementar a imagem no Cloud Run e aguarde que a implementação termine.
Clique no link do URL apresentado para abrir o ponto final único e estável do seu serviço implementado.