Usar criadores contribuídos pela comunidade e criadores personalizados

Esta página explica como usar criadores contribuídos pela comunidade e criadores personalizados no Cloud Build. A comunidade de programadores do Cloud Build oferece criadores de código aberto que pode usar para executar as suas tarefas. Se a tarefa que quer realizar exigir capacidades que não são fornecidas por uma imagem existente, pode criar a sua própria imagem personalizada e usá-la num passo de compilação. Para saber mais sobre os diferentes tipos de criadores, consulte os criadores do Google Cloud.

Se for um utilizador recente do Cloud Build, leia os inícios rápidos e a vista geral da configuração de compilação primeiro.

Usar criadores contribuídos pela comunidade

As imagens pré-criadas não estão disponíveis para criadores contribuídos pela comunidade. Para usar estes criadores num ficheiro de configuração do Cloud Build, tem de criar primeiro a imagem e enviá-la para o Artifact Registry no seu projeto.

Para usar um criador contribuído pela comunidade:

  1. Crie e envie o criador:

    1. Navegue para o diretório raiz do projeto.

    2. Clone o repositório cloud-builders-community:

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. Navegue para a imagem do criador que quer usar, onde builder-name é o diretório que contém o criador:

      cd cloud-builders-community/builder-name
      
    4. Envie o criador para o seu projeto:

      gcloud builds submit .
      
    5. Navegue de volta para o diretório raiz do projeto:

      cd ../..
      
    6. Remova o repositório do diretório raiz:

      rm -rf cloud-builders-community/
      
  2. No ficheiro de configuração do Cloud Build, use o criador num passo de compilação:

    YAML

    steps:
    - name: 'gcr.io/project-id/builder-name'
      args: ['arg1', 'arg2', ...]
    ...
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/project-id/builder-name",
        "args": [
          "arg1",
          "arg2",
          ...
        ]
        ...
      }
      ]
    }
    
  3. Use o ficheiro de configuração de compilação para compilar manualmente ou compilar através de acionadores.

Para ver exemplos de utilização de criadores contribuídos pela comunidade, consulte os artigos Implemente no Firebase e Crie imagens de VMs com o Packer.

Criar um criador personalizado

Se a tarefa que quer realizar exigir capacidades que não são fornecidas por uma imagem pública, um criador suportado ou um criador contribuído pela comunidade, pode criar a sua própria imagem e usá-la num passo de compilação.

Alguns exemplos de quando pode querer usar uma imagem do criador personalizada:

  • Transferir código-fonte ou pacotes de localizações externas.
  • Usar uma cadeia de ferramentas externa.
  • Colocar em cache todas as bibliotecas necessárias.
  • Pré-criação da origem (com o Cloud Build responsável apenas por potencialmente embalar a criação numa imagem).

Tal como qualquer outro criador, um criador personalizado é executado com a origem montada em /workspace e é executado com um diretório de trabalho em /workspace. Todos os ficheiros deixados em /workspace por um determinado passo de compilação estão disponíveis para outros passos de compilação.

O seu criador personalizado pode enviar ou extrair dados de um repositório no Artifact Registry (alojado em gcr.io/$PROJECT-NAME/) ao qual a sua conta de serviço de compilação tem acesso.

Os passos seguintes mostram como criar e usar um criador personalizado com um exemplo Dockerfile:

  1. Crie uma imagem do criador personalizada:

    1. Crie o Dockerfile para o criador personalizado. O código seguinte mostra um exemplo Dockerfile:

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. Crie e envie o criador personalizado para o Artifact Registry no seu projeto, substituindo os valores de project-id e image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Use a imagem do criador personalizado no Cloud Build especificando o criador no campo name de um passo de compilação:

    YAML

        steps:
        - name: 'gcr.io/project-id/image-name'
          id: Determine IP of this build worker
    

    JSON

        {
          "steps": [
          {
            "name": "gcr.io/project-id/image-name",
            "id": "Determine IP of this build worker"
          }
          ]
        }
    
  3. Use o ficheiro de configuração de compilação para compilar manualmente ou compilar através de acionadores.

O que se segue?