En esta página, se explica cómo usar los compiladores que aporta la comunidad y los 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 deseas realizar requiere capacidades que no proporciona una imagen existente, puedes compilar tu propia imagen personalizada y usarla en un paso de compilación. Para obtener 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 Artifact Registry en tu proyecto.
Para usar un compilador aportado por la comunidad, haz lo siguiente:
Compila y envía el compilador:
Navega al directorio raíz de tu proyecto.
Clona el repositorio cloud-builders-community:
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
Navega a la imagen del compilador que deseas usar, donde builder-name es el directorio que contiene el compilador:
cd cloud-builders-community/builder-name
Envía el compilador a tu proyecto:
gcloud builds submit .
Regresa al directorio raíz de su proyecto:
cd ../..
Quita el repositorio de tu directorio raíz:
rm -rf cloud-builders-community/
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", ... ] ... } ] }
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 cómo usar compiladores aportados por la comunidad, consulta Realiza implementaciones en Firebase y Compila 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 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 de un repositorio en Artifact 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 Dockerfile
de ejemplo:
Crea una imagen de compilador personalizada:
Crea el
Dockerfile
para el compilador personalizado. El siguiente código muestra un ejemplo deDockerfile
:FROM alpine RUN apk add curl CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
Compila y envía el compilador personalizado a Artifact Registry en tu proyecto, reemplazando los valores de project-id y image-name:
gcloud builds submit --tag gcr.io/project-id/image-name
Usa la imagen del compilador personalizado en Cloud Build especificando 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" } ] }
Usa el archivo de configuración de compilación para iniciar la compilación de forma manual o compilar con activadores.
¿Qué sigue?
- Obtén más información para ejecutar secuencias de comandos de bash en pasos de compilación.
- Obtén más información para configurar el orden de los pasos de compilación.
- Obtén más información sobre cómo crear un archivo de configuración de compilación básico.