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 Knative Serving através do 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.

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 Knative Serving.

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: Go, Node.js, Python, Java ou .NET Core.
  • Enable the Cloud Build and Cloud Source Repositories APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Configurar a implementação contínua a partir da interface do utilizador do Knative Serving

O procedimento 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. Aceda ao Knative serving na Google Cloud consola:

    Aceda ao Knative serving

  2. Clique em Criar serviço.

  3. Preencha as Definições do serviço com as suas preferências.

  4. Clicar em Seguinte.

  5. Selecione Implementar continuamente novas revisões a partir de um repositório de origem.

    Configure com o Cloud Build

  6. Clique em Configurar com o Cloud Build.

  7. Selecione o fornecedor e o repositório.

    • GitHub: se ainda não tiver autenticado, clique em Autenticar e siga as instruções. Por predefinição, a associação de um repositório é feita através da app GitHub do Cloud Build. Em alternativa, pode espelhar o seu repositório do GitHub nos Cloud Source Repositories. Para o fazer, clique em Opção avançada e selecione Espelhar repositório do GitHub com os Cloud Source Repositories Saiba mais
    • Bitbucket: se ainda não tiver autenticado, clique em Autenticar e siga as instruções.
    • Cloud Source Repositories

    Configure a implementação contínua (passo 1)

  8. Clicar em Seguinte.

  9. Preencha as opções no passo de configuração da 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 Buildpack context para especificar o diretório e Entrypoint (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

  10. Clique em Guardar.

  11. Verifique as definições selecionadas.

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

  12. Clique em Criar.

  13. 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.

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

    • Botão Editar 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 Knative serving na Google Cloud consola:

    Aceda ao Knative serving

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

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

  4. Selecione o fornecedor e o repositório.

    • GitHub: se ainda não tiver autenticado, clique em Autenticar e siga as instruções. Por predefinição, a associação de um repositório é feita através da app GitHub do Cloud Build. Em alternativa, pode espelhar o seu repositório do GitHub nos Cloud Source Repositories. Para o fazer, clique em Opção avançada e selecione Espelhar repositório do GitHub com os Cloud Source Repositories Saiba mais
    • Bitbucket: se ainda não tiver autenticado, clique em Autenticar e siga as instruções.
    • Cloud Source Repositories

    Configure a implementação contínua (passo 1)

  5. Clicar em Seguinte.

  6. Preencha as opções no passo de configuração da 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 Buildpack context para especificar o diretório e Entrypoint (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:

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

Configurar 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 Knative Serving.

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ções.

Para tal, tem de adicionar uma etiqueta com gcb-trigger-id como chave e o identificador exclusivo do acionador do Cloud Build como valor (não o nome do acionador). Consulte as instruções para configurar a etiqueta.