Como automatizar versões com o Cloud Build

Neste tópico, você aprenderá como automatizar versões usando o Cloud Build e o Cloud Source Repositories.

Você pode configurar o Cloud Build para criar automaticamente uma nova imagem sempre que um usuário envia uma alteração aos arquivos armazenados no Cloud Source Repositories. Eventos que iniciam versões automáticas são chamados de acionadores de versão. Esses acionadores podem ajudar a garantir que as imagens do contêiner sejam mantidas atualizadas. Você também pode usá-los para criar e testar ramificações de recursos.

Antes de começar

Além desses pré-requisitos, as seguintes informações podem ser úteis:

  • Os acionadores de versão usam clones superficiais de um repositório. Com eles, apenas o commit único que acionou a versão foi registrado no espaço de trabalho para a criação. Para saber mais sobre como incluir mais históricos de repositórios, consulte Como desfazer clones.

  • Se usar outro provedor Git hospedado, como no GitHub ou no Bitbucket, e ainda não tiver espelhado o repositório no Cloud Source Repositories, você precisará ter a permissão cloudbuilds.builds.create para o projeto do Google Cloud Platform em que está trabalhando. Essa permissão normalmente é concedida por meio do papel cloudbuild.builds.editor.

    Na primeira vez que você configurar um acionador da versão com um repositório externo, será preciso definir a autorização do repositório. Para mais informações, consulte Como adicionar um repositório como remoto.

    Depois de configurar seu repositório externo, o Cloud Source Repositories cria um espelho dele.

  • Para saber mais sobre as cotas e os limites do Cloud Build, consulte a página Cotas e limites na documentação do produto.

Como criar um acionador de versão

Para criar um novo acionador de versão:

  1. Abra a página “Acionadores de versão” no Console do Google Cloud Platform.

    Abra a página “Acionadores de versão”

  2. Selecione o projeto e clique em Abrir.

  3. Clique em Criar acionador.

  4. Selecione Cloud Source Repository.

  5. Clique em Continuar.

  6. Na lista de repositórios disponíveis, selecione o repositório desejado e clique em Continuar.

  7. Preencha as configurações de acionamento a seguir:

    • Nome do acionador: um nome opcional para o acionador.
    • Tipo de acionador: defina um acionador para iniciar uma versão em confirmações de um branch específico ou confirmações com uma determinada tag. Em qualquer um dos casos, é possível especificar uma expressão regular correspondente ao valor do branch ou da tag.
    • Configuração da versão: o Dockerfile ou o arquivo de configuração da versão (localizado no repositório remoto) a ser usado para cada versão iniciada pelo acionador.

Como usar um Dockerfile

Para usar um Dockerfile na sua configuração da versão, você precisará especificar o diretório do Dockerfile e fornecer um nome para a imagem resultante.

Depois de fornecer o Dockerfile e o nome da imagem, você verá uma prévia do comando docker build que sua versão executará e um resumo do acionador: Clique em Criar acionador para salvar o acionador de versão.

Como usar um arquivo de configuração de versão

Informe o local de um arquivo de configuração de versão para usá-lo na sua configuração de versão.

Depois de definir o local, você verá um resumo do acionador. Clique em Criar acionador para salvar o acionador de versão.

Como testar um acionador de versão

Para testar manualmente um acionador de versão, clique em Executar o acionador na entrada do seu acionador na lista.

Como ignorar um acionador de versão

Em alguns casos, pode ser necessário fazer uma alteração no seu código-fonte, mas não acionar uma versão. Por exemplo, talvez você não queira acionar uma versão quando atualizar documentação ou arquivos de configuração.

Em tais cenários, você pode incluir [skip ci] ou [ci skip] na mensagem do commit, e uma versão não será acionada.

Exemplo:

Author: A User <auser@example.com>
Date:   Tue Apr 3 12:03:35 2018 -0700

    Fixed customer affecting issue. [skip ci]

Para executar uma versão desse commit mais tarde, use o botão Executar acionador.

Como desfazer clones superficiais

Para criar sua fonte em um repositório do Git, o Cloud Source Repositories realiza um clone superficial do repositório. Isso significa que apenas o commit único que acionou a versão foi registrado no espaço de trabalho para a criação. O Cloud Source Repositories não registra nenhuma outra ramificação ou histórico. Isso é feito para aumentar a eficiência. Assim, as versões não precisam esperar para buscar todo o repositório e histórico apenas para criar um único commit.

Se você quiser incluir mais do histórico do seu repositório na versão, adicione uma etapa de versão no seu arquivo de configuração da versão para "desfazer" o clone. Exemplo:

steps:
- name: gcr.io/cloud-builders/git
  args: ['fetch', '--unshallow']
...

Para mais informações sobre git fetch, consulte a referência do Git. Para ver instruções sobre como gravar um arquivo de configuração da versão, consulte Visão geral de configuração da versão.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Source Repositories