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

É possível usar o Cloud Build para automatizar builds e implantações na disponibilização do Knative usando o gatilho do Cloud Build para criar e implantar seu código automaticamente sempre que novas confirmações forem enviadas para uma determinada ramificação de um repositório Git.

Quando você usa um gatilho do Cloud Build para criar contêineres, 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 na disponibilização do Knative.

Antes de começar

  • Você tem um repositório git com um Dockerfile ou a base de 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 e Cloud Source Repositories .

    Ative as APIs

Como configurar a implantação contínua na interface do usuário de exibição do Knative

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 a veiculação do Knative no console do Google Cloud:

    Acessar a veiculação do Knative

  2. Clique em Criar serviço.

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

  4. Clique em Próxima.

  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 colocar 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 Salvar.

  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 a veiculação do Knative no console do Google Cloud:

    Acessar a veiculação do Knative

  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 colocar 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 Salvar.

  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 atual ao serviço de veiculação do Knative.

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 instructions para configurar o rótulo.