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 theserviceusage.services.enable
permission. Learn how to grant roles.
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
Aceda ao Knative serving na Google Cloud consola:
Clique em Criar serviço.
Preencha as Definições do serviço com as suas preferências.
Clicar em Seguinte.
Selecione Implementar continuamente novas revisões a partir de um repositório de origem.
Clique em Configurar com o Cloud Build.
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
Clicar em Seguinte.
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.
Clique em Guardar.
Verifique as definições selecionadas.
Clique em Criar.
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.
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
Aceda ao Knative serving na Google Cloud consola:
Localize o serviço na lista de serviços e clique nele.
Clique em Configurar implementação contínua.
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
Clicar em Seguinte.
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.
Clique em Guardar.
A página é recarregada e apresenta o progresso da configuração da implementação contínua.
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.