Utilizzo di builder personalizzati e forniti dalla community

Questa pagina spiega come utilizzare i generatori forniti dalla community e i builder personalizzati in Cloud Build. La community degli sviluppatori di Cloud Build fornisce creatori open source che puoi utilizzare per eseguire le tue attività. Se l'attività che vuoi eseguire richiede funzionalità non fornite da un'immagine esistente, puoi creare la tua immagine personalizzata e utilizzarla in un passaggio di creazione. Per informazioni sui diversi tipi di builder, consulta Cloud Builder.

Se non hai mai utilizzato Cloud Build, leggi prima le guide rapide e la panoramica della configurazione di Build.

Utilizzo di builder forniti dalla community

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

Per utilizzare uno strumento per la creazione di contenuti forniti 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 builder che vuoi utilizzare, dove builder-name è la directory che contiene 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 radice:

      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 compilazione manualmente o la compilazione utilizzando i trigger.

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

Creazione di un builder personalizzato

Se l'attività che vuoi eseguire richiede funzionalità non fornite da un'immagine pubblica, un builder supportato o un edificio creato dalla community, puoi creare la tua immagine e utilizzarla in un passaggio di build.

Ecco alcuni esempi di quando potrebbe essere utile utilizzare un'immagine dello strumento di creazione personalizzato:

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

Come qualsiasi altro builder, uno strumento per la creazione personalizzato viene eseguito con l'origine montata in /workspace e con una directory di lavoro in /workspace. Tutti i file rimasti in /workspace da 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 su gcr.io/$PROJECT-NAME/) a cui ha accesso il tuo account di servizio Cloud Build.

I passaggi seguenti mostrano come creare e utilizzare uno strumento per la creazione personalizzata con un esempio di Dockerfile:

  1. Crea un'immagine del builder personalizzata:

    1. Crea il Dockerfile per lo strumento di creazione personalizzato. Il seguente codice mostra un esempio 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 nel Container Registry nel tuo progetto, sostituendo i valori per project-id e image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Utilizza 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 compilazione manualmente o la compilazione utilizzando i trigger.

Passaggi successivi