Implementação contínua a partir do Git com o Cloud Build

Pode usar o Cloud Build para automatizar compilações e implementações no Cloud Run usando o trigger 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. Para ver um exemplo, consulte o início rápido para criar um repositório de modelos e implementar continuamente a partir do git.

Quando usa um acionador do Cloud Build para criar contentores, 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.

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 Dockerfile ou a sua base de código está escrita num dos idiomas suportados pelos buildpacks do Google Cloud.
  • Enable the Cloud Build API.

    Enable the API

Funções necessárias

Para receber as autorizações de que precisa para implementar serviços do Cloud Run a partir do Git com o Cloud Build, peça ao seu administrador para lhe conceder as seguintes funções de IAM no seu projeto:

A conta de serviço que executa a compilação tem de ter as seguintes funções:

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 interface do utilizador 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

  1. Crie um novo serviço conforme descrito em Implemente um novo serviço, certificando-se de que seleciona Implementar continuamente novas revisões a partir de um repositório de origem na página Definições do serviço.

  2. Na página Definições do serviço, clique em Configurar com o Cloud Build.

  3. O GitHub é o fornecedor de repositórios predefinido. Se ainda não tiver efetuado 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.

    Configure o passo de implementação contínua 1

  4. Clicar em Seguinte.

  5. Preencha as opções no passo de configuração de criação:

    • Branch: indica que origem deve ser usada quando o acionador é executado. Pode colocar a regex aqui. As ramificações correspondentes são validadas automaticamente: pode vê-las 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

      • Se o repositório deve ser criado com o Docker e contém um ficheiro Dockerfile, selecione Dockerfile. A localização de origem indica 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.

      • Caso contrário, selecione Google Cloud Buildpacks. Use o contexto do pacote de compilação para especificar o diretório e o ponto de entrada (opcional) para fornecer o comando para iniciar o servidor. Exemplo: gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Deixe-o em branco para usar o comportamento predefinido.

    Configure a implementação contínua no passo 2

  6. Clique em Guardar.

  7. Verifique as definições selecionadas.

    Configure a validação da implementação contínua

  8. Clique em Criar.

  9. Tenha em atenção que é redirecionado para a página Detalhes do serviço, onde pode acompanhar o progresso da configuração da implementação contínua.

  10. Depois de concluir todos os passos, tenha em atenção as opções adicionais:

    • Edite a implementação contínua.
    • Histórico de compilações.
    • Detalhes da origem na secção Detalhes da revisão.

Serviço existente

  1. Aceda ao Cloud Run

  2. Localize o serviço na lista de serviços e clique nele.

  3. Clique em Configurar implementação contínua.

  4. O GitHub é o fornecedor de repositórios predefinido. Se ainda não tiver efetuado 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.

    Configure o passo de implementação contínua 1

  5. Clicar em Seguinte.

  6. Preencha as opções no passo de configuração de criação:

    • Branch: indica que origem deve ser usada quando o acionador é executado. Pode colocar a regex aqui. As ramificações correspondentes são validadas automaticamente: pode vê-las 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

      • Se o repositório deve ser criado com o Docker e contém um ficheiro Dockerfile, selecione Dockerfile. A localização de origem indica 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.

      • Caso contrário, selecione Google Cloud Buildpacks. Use o contexto do pacote de compilação para especificar o diretório e o ponto de entrada (opcional) para fornecer o comando para iniciar o servidor. Exemplo: gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Deixe-o em branco para usar o comportamento predefinido.

    Configure o passo de implementação contínua 2

  7. Clique em Guardar.

  8. A página é recarregada e apresenta o progresso da configuração da implementação contínua.

  9. Depois de concluir todos os passos, tenha em atenção as opções adicionais:

    • Edite a implementação contínua.
    • Histórico de compilações.
    • 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 o 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 e tirar partido das Google Cloud funcionalidades da consola na página Detalhes do serviço: botão Editar implementação contínua e gráfico Histórico de compilação.

Para tal, 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). Consulte o artigo Defina ou modifique etiquetas para configurar a etiqueta.