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

Use o Cloud Build para automatizar builds e implantações no Cloud Run usando o gatilho do Cloud Build para criar e implantar automaticamente seu código 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 Cloud para o serviço após a implantação no Cloud Run.

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 Repositórios do Cloud Build e do Cloud Source .

    Ative as APIs

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

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

Novo serviço

  1. Crie um novo serviço, conforme descrito em Implantar um novo serviço, garantindo que você selecione Implantar continuamente novas revisões a partir de um repositório de origem na página Configurações do serviço.

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

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

  4. Clique em Next.

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

  6. Clique em Save.

  7. Verifique as configurações selecionadas.

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

  8. Clique em Criar

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

  10. 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. Acessar o Cloud Run

  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 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 a implantação contínua manualmente

Veja Como configurar a implantação contínua manualmente se precisar usar um procedimento manual, e não a IU.

Anexe o gatilho existente do Cloud Build ao serviço do Cloud Run.

Se você já tiver um gatilho do Cloud Build, poderá anexá-lo ao serviço e aproveitar os recursos do Console do 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.