Utilizzo di builder personalizzati e forniti dalla community

Questa pagina spiega come utilizzare i builder forniti dalla community e i builder personalizzati in Cloud Build. La community di sviluppatori di Cloud Build fornisce compilatori open source che puoi utilizzare per eseguire le tue attività. Se l'attività che vuoi eseguire richiede funzionalità non offerte da un'immagine esistente, puoi creare personalizzata e usarla in un passaggio di build. Per scoprire i diversi tipi di builder, consulta Cloud Builder.

Se non hai mai utilizzato Cloud Build, leggi prima le guide di avvio rapido e la Panoramica della configurazione di compilazione.

Utilizzo di builder forniti dalla community

Le immagini predefinite non sono disponibili per i builder forniti dalla community. per utilizzare in un file di configurazione di Cloud Build, devi prima creare ed eseguine il push in Container Registry nel tuo progetto.

Per utilizzare un generatore fornito dalla community:

  1. Crea ed esegui il push del builder:

    1. Vai alla directory principale del progetto.

    2. Clona il repository cloud-builders-community:

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. Vai all'immagine del generatore che vuoi utilizzare, dove builder-name è la directory contenente il generatore:

      cd cloud-builders-community/builder-name
      
    4. Invia il generatore al progetto:

      gcloud builds submit .
      
    5. Torna alla directory principale del progetto:

      cd ../..
      
    6. Rimuovi il repository dalla directory principale:

      rm -rf cloud-builders-community/
      
  2. Nel file di configurazione di Cloud Build, utilizza il builder in un passaggio di build:

    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. Utilizza il file di configurazione della build per avviare la build manualmente o la build utilizzando gli attivatori.

Per esempi sull'utilizzo dei builder offerti dalla community, consulta Eseguire il deployment in Firebase e Creare immagini VM utilizzando Packer.

Creazione di un generatore personalizzato

Se l'attività che vuoi eseguire richiede funzionalità non fornite un'immagine pubblica, un builder supportato o offerto dalla community, puoi creare la tua immagine e usarla in un passaggio di creazione.

Ecco alcuni esempi di casi in cui potresti voler utilizzare un'immagine del generatore personalizzata:

  • Download di pacchetti o codice sorgente da posizioni esterne.
  • Utilizzo di una catena di strumenti esterna.
  • Memorizzazione nella cache di eventuali librerie necessarie.
  • Codice sorgente pre-build (con Cloud Build responsabile solo del possibile pacchettizzamento della build in un'immagine).

Come qualsiasi altro builder, un builder personalizzato viene eseguito con il codice sorgente montato in /workspace e con una directory di lavoro in /workspace. Eventuali file rimanenti in /workspace per un determinato passaggio di build sono disponibili per altri passaggi di build.

Il tuo builder personalizzato può eseguire il push o il pull da un repository in Container Registry (ospitato in gcr.io/$PROJECT-NAME/) a cui il tuo account di servizio di compilazione ha l'accesso.

I passaggi riportati di seguito mostrano come creare e utilizzare un generatore personalizzato con un esempioDockerfile:

  1. Crea un'immagine del generatore personalizzata:

    1. Crea il Dockerfile per lo Strumento per la creazione di segmenti di pubblico personalizzato. Il seguente codice mostra un esempio di Dockerfile:

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. Crea ed esegui il push del builder personalizzato in Container Registry nel tuo progetto, sostituzione dei valori di project-id e image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Usa l'immagine del builder personalizzato in Cloud Build specificando il builder nel campo name di un passaggio di build:

    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. Utilizza il file di configurazione della build per avviare la build manualmente o la build utilizzando gli attivatori.

Passaggi successivi