Usa compiladores personalizados y compiladores que aporta la comunidad

En esta página, se explica cómo usar los compiladores que aporta la comunidad y los compiladores personalizados en Cloud Build. El La comunidad de desarrolladores de Cloud Build ofrece compiladores que puedes usar para ejecutar tus tareas. Si la tarea que quieres realizar requiere que no proporciona una imagen existente, puedes crear tu propia con una imagen personalizada y usarla en un paso de compilación. Para obtener más información sobre los diferentes tipos de compiladores, consulta Compiladores en la nube.

Si estás dando los primeros pasos en Cloud Build, lee primero las guías de inicio rápido y la descripción general de la configuración de compilación.

Uso de compiladores que son Contribuciones de la comunidad

Las imágenes compiladas con anterioridad no están disponibles para los compiladores que son Contribuciones de la comunidad. Si deseas usar estos compiladores en un archivo de configuración de Cloud Build, primero debes compilar la imagen y enviarla a Container Registry en tu proyecto.

Para usar un compilador aportado por la comunidad, haz lo siguiente:

  1. Compila y envía el compilador:

    1. Navega al directorio raíz de tu proyecto.

    2. Clona el repositorio cloud-builders-community:

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. Navega a la imagen del compilador que deseas usar, en la que builder-name es el directorio que contiene el compilador:

      cd cloud-builders-community/builder-name
      
    4. Envía el compilador a tu proyecto:

      gcloud builds submit .
      
    5. Regresa al directorio raíz de su proyecto:

      cd ../..
      
    6. Quita el repositorio de tu directorio raíz:

      rm -rf cloud-builders-community/
      
  2. En tu archivo de configuración de Cloud Build, usa el compilador en un paso de compilación:

    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. Usa el archivo de configuración de compilación para iniciar la compilación de forma manual o compilar con activadores.

Para ver ejemplos sobre el uso de compiladores aportados por la comunidad, consulta Cómo implementar en Firebase y Cómo compilar imágenes de VM con Packer.

Crea un compilador personalizado

Si la tarea que deseas realizar requiere capacidades que no son proporcionadas por una imagen pública, un compilador compatible o aportado por la comunidad, puedes compilar tu propia imagen y usarla en un paso de compilación.

Estos son algunos ejemplos de situaciones en los que es posible que desees usar una imagen personalizada de compilador:

  • Descargar código fuente o paquetes de ubicaciones externas
  • Usar una cadena de herramientas externa
  • Almacenar en caché cualquier biblioteca necesaria
  • Compilar una fuente previamente (con Cloud Build responsable solo si se debe empaquetar la compilación en una imagen).

Al igual que cualquier otro compilador, un compilador personalizado se ejecuta con la fuente activada en /workspace y se ejecuta con un directorio de trabajo en /workspace. Los archivos que quedan en /workspace en un paso de compilación determinado están disponibles para otros pasos de compilación.

Tu compilador personalizado puede enviar o extraer desde un repositorio en Container Registry (alojado en gcr.io/$PROJECT-NAME/) al que tiene acceso tu cuenta de servicio de compilación.

En los siguientes pasos, se muestra cómo crear y usar un compilador personalizado con un ejemplo. Dockerfile:

  1. Crea una imagen de compilador personalizada:

    1. Crea el Dockerfile para el compilador personalizado. Lo siguiente código muestra un Dockerfile de ejemplo:

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. Compila y envía el compilador personalizado a Container Registry en tu proyecto, reemplazando los valores de project-id y image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Para usar la imagen del compilador personalizado en Cloud Build, especifica el compilador en el campo name de un paso de compilación:

    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. Usa el archivo de configuración de compilación para iniciar la compilación de forma manual. o compilar con activadores.

¿Qué sigue?