Usar compiladores personalizados y aportados por la comunidad

En esta página se explica cómo usar compiladores aportados por la comunidad y compiladores personalizados en Cloud Build. La comunidad de desarrolladores de Cloud Build proporciona compiladores de código abierto que puedes usar para ejecutar tus tareas. Si la tarea que quieres realizar requiere funciones que no proporciona una imagen, puedes crear tu propia imagen personalizada y usarla en un paso de compilación. Para obtener información sobre los distintos tipos de compiladores, consulta Compiladores de Cloud.

Si es la primera vez que usas Cloud Build, consulta primero las guías de inicio rápido y la descripción general de la configuración de compilación.

Usar creadores aportados por la comunidad

Las imágenes precompiladas no están disponibles para los compiladores de la comunidad. Para usar estos compiladores en un archivo de configuración de Cloud Build, primero debes compilar la imagen y enviarla a Artifact Registry en tu proyecto.

Para usar un creador aportado por la comunidad, sigue estos pasos:

  1. Crea y envía el compilador:

    1. Ve 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. Desplázate hasta la imagen del compilador que quieras usar, donde builder-name es el directorio que contiene el compilador:

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

      gcloud builds submit .
      
    5. Vuelve al directorio raíz del proyecto:

      cd ../..
      
    6. Elimina el repositorio del directorio raíz:

      rm -rf cloud-builders-community/
      
  2. En el 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 la compilación para iniciar la compilación manualmente o compilar con activadores.

Para ver ejemplos de cómo usar compiladores de la comunidad, consulta los artículos Desplegar en Firebase y Crear imágenes de máquina virtual mediante Packer.

Crear un compilador personalizado

Si la tarea que quieres realizar requiere funciones que no ofrecen una imagen pública, un compilador compatible o un compilador aportado por la comunidad, puedes crear tu propia imagen y usarla en un paso de compilación.

Estos son algunos ejemplos de situaciones en las que puede ser útil usar una imagen de compilación personalizada:

  • Descargar código fuente o paquetes de ubicaciones externas.
  • Usar una cadena de herramientas externa.
  • Almacenando en caché las bibliotecas necesarias.
  • Compilación previa de la fuente (Cloud Build solo se encarga de empaquetar la compilación en una imagen).

Al igual que cualquier otro creador, un creador personalizado se ejecuta con la fuente montada en /workspace y con un directorio de trabajo en /workspace. Los archivos que queden en /workspace después de un paso de compilación determinado estarán disponibles para otros pasos de compilación.

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

En los siguientes pasos se muestra cómo crear y usar un generador personalizado con un ejemplo de Dockerfile:

  1. Crea una imagen de compilación personalizada:

    1. Crea el Dockerfile para el creador personalizado. El siguiente código muestra un ejemplo de 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 y envía el compilador personalizado a Artifact Registry en tu proyecto. Para ello, sustituye los valores de project-id y image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. Para usar la imagen de 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 la compilación para iniciar la compilación manualmente o compilar con activadores.

Siguientes pasos