Implantação contínua com o Git usando o Cloud Build

O Cloud Build pode ser usado para automatizar builds e implantações para Knative serving usando o gatilho do Cloud Build para criar e implantar seu código automaticamente sempre que novas confirmações forem enviadas ao em uma determinada ramificação de um repositório Git.

Quando você usa um gatilho do Cloud Build para criar contêineres, o as informações do repositório de origem são exibidas no console do Google Cloud para seu serviço após a implantação o Knative serving.

Antes de começar

  • Você tem um repositório git com um Dockerfile ou a base do código é escrita em uma das linguagens compatíveis com o Google Cloud Buildpacks: Go, Node.js, Python, Java ou .NET Core.
  • Ative as APIs Cloud Build and Cloud Source Repositories .

    Ative as APIs

Como configurar a implantação contínua a partir da interface do usuário do Knative serving

O procedimento varia um pouco dependendo se você está configurando a implantação contínua em um novo serviço ou em um serviço existente. Clique na guia apropriada para saber mais.

Novo serviço

  1. Acesse o Knative serving no console do Google Cloud:

    Acessar o Knative serving

  2. Clique em Criar serviço.

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

  4. Clique em Next.

  5. Selecione Implantar continuamente novas revisões de um repositório de código-fonte.

    Configurar com o Cloud Build

  6. Clique em Configurar com o Cloud Build.

  7. Selecione o provedor e o repositório.

    • GitHub: se você ainda não estiver autenticado, clique em Autenticar e siga as instruções. Por padrão, a conexão de um repositório é feita usando o app do GitHub para o Cloud Build. Como alternativa, é possível espelhar o repositório do GitHub no Cloud Source Repositories. Para fazer isso, clique em Opções avançadas e marque Espelhar repositório do GitHub usando o Cloud Source Repositories. Saiba mais.
    • Bitbucket: se você ainda não estiver autenticado, clique em Autenticar e siga as instruções.
    • Cloud Source Repositories

    Configurar a etapa 1 da implantação contínua

  8. Clique em Next.

  9. Preencha as opções na etapa "Configuração do build":

    • Ramificação: indica qual código-fonte precisa ser usado ao executar o gatilho. É possível usar o operador 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

      • Se o repositório precisar ser criado com o Docker e ele contiver um Dockerfile, selecione Dockerfile. Local de origem: indica o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos precisam estar relacionados ao diretório atual.

      • Caso contrário, selecione Google Cloud Buildpacks. Use o contexto de Buildpack para especificar o diretório e o Ponto de entrada (opcional) para fornecer o comando que inicia o servidor. Por exemplo: gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Deixe em branco para usar o comportamento padrão.

    Configurar a etapa 2 da implantação contínua

  10. Clique em Save.

  11. Verifique as configurações selecionadas.

    Configurar a verificação da implantação contínua

  12. Clique em Criar

  13. Você será redirecionado para a página Detalhes do serviço, em que poderá acompanhar o progresso da configuração da implantação contínua.

  14. Quando todas as etapas forem concluídas, observe as opções adicionais:

    • Botão "Editar implantação contínua".
    • Histórico de builds.
    • Detalhes do código-fonte na seção Detalhes da revisão.

Serviço atual

  1. Acesse o Knative serving no console do Google Cloud:

    Acessar o Knative serving

  2. Na lista, localize e clique no serviço.

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

  4. Selecione o provedor e o repositório.

    • GitHub: se você ainda não estiver autenticado, clique em Autenticar e siga as instruções. Por padrão, a conexão de um repositório é feita usando o app do GitHub para o Cloud Build. Como alternativa, é possível espelhar o repositório do GitHub no Cloud Source Repositories. Para fazer isso, clique em Opções avançadas e marque Espelhar repositório do GitHub usando o Cloud Source Repositories. Saiba mais.
    • Bitbucket: se você ainda não estiver autenticado, clique em Autenticar e siga as instruções.
    • Cloud Source Repositories

    Configurar a etapa 1 da implantação contínua

  5. Clique em Next.

  6. Preencha as opções na etapa "Configuração do build":

    • Ramificação: indica qual código-fonte precisa ser usado ao executar o gatilho. É possível usar o operador 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

      • Se o repositório precisar ser criado com o Docker e ele contiver um Dockerfile, selecione Dockerfile. Local de origem: indica o local e o nome do Dockerfile. O diretório será usado como o contexto de build do Docker. Todos os caminhos precisam estar relacionados ao diretório atual.

      • Caso contrário, selecione Google Cloud Buildpacks. Use o contexto de Buildpack para especificar o diretório e o Ponto de entrada (opcional) para fornecer o comando que inicia o servidor. Por exemplo: gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Deixe em branco para usar o comportamento padrão.

    Configurar a etapa 2 da implantação contínua

  7. Clique em Save.

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

  9. Quando todas as etapas forem concluídas, observe as opções adicionais:

    • Botão "Editar implantação contínua".
    • Histórico de builds.
    • Detalhes do código-fonte na seção Detalhes da revisão.

Como configurar manualmente a implantação contínua

Veja Como configurar manualmente a implantação contínua se precisar usar um procedimento manual em vez da IU.

Anexe o gatilho do Cloud Build ao serviço do Knative serving.

Se você já tiver um gatilho do Cloud Build, poderá anexá-lo ao serviço e aproveitar os recursos do console do Google Cloud na página "Detalhes do serviço" (botão Editar implantação contínua e gráfico Histórico de builds).

Para isso, você precisa adicionar um rótulo com gcb-trigger-id como chave e o identificador exclusivo do gatilho do Cloud Build como valor, e não o nome dele. Veja as instruções para configurar o rótulo.