Compiladores de Cloud

Los compiladores de Cloud son imágenes de contenedor con lenguajes y herramientas comunes instalados. Puedes configurar Cloud Build para que ejecute un comando específico en el contexto de estos compiladores.

En esta página se describen los tipos de compiladores que puedes usar con Cloud Build.

Imágenes disponibles públicamente

Cloud Build te permite usar cualquier imagen disponible públicamente para ejecutar tus tareas. Para usar una imagen, especifique su URL en el campo name de su archivo de configuración. Usa el campo args para especificar los comandos que quieras ejecutar en la imagen. El campo args de un paso de compilación toma una lista de argumentos y los pasa a la imagen a la que hace referencia el campo name.

El siguiente fragmento de código muestra cómo usar la imagen pública ubuntu de Docker Hub y ejecutar un comando en esa imagen:

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

Aquí tienes otro fragmento de código de ejemplo que usa la imagen del escáner de código abierto de Black Duck para Cloud Build desde el Google Cloud Launcher de la consola:

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

Para ver más ejemplos sobre cómo usar imágenes disponibles públicamente de Docker Hub en tus tareas, consulta Desarrollar aplicaciones de Node.js y Desarrollar aplicaciones de Go.

Imágenes de compilador compatibles proporcionadas por Cloud Build

Cloud Build proporciona y mantiene imágenes precompiladas que puedes consultar en tu archivo de configuración para ejecutar tus tareas. Puedes encontrar estas imágenes prediseñadas en la siguiente ubicación:

gcr.io/cloud-builders/...

El código fuente de estos compiladores está disponible en el repositorio de GitHub de compiladores de Cloud.

Para ver ejemplos de cómo usar imágenes prediseñadas compatibles, consulta Crear imágenes de contenedor y Desplegar en Cloud Run.

En la siguiente tabla se muestran algunos ejemplos de imágenes de compilación admitidas:

Builder Nombre Ejemplo
bazel gcr.io/cloud-builders/bazel Ejemplo de bazel
docker gcr.io/cloud-builders/docker Ejemplo de Docker
git gcr.io/cloud-builders/git git example
gcloud gcr.io/cloud-builders/gcloud Ejemplo de gcloud
gke-deploy gcr.io/cloud-builders/gke-deploy Ejemplo de gke-deploy
gradle gcr.io/cloud-builders/gradle gradle example
maven gcr.io/cloud-builders/mvn Ejemplo de Maven
Lista completa de compiladores compatibles con Cloud Build.

Creadores aportados por la comunidad

La comunidad de desarrolladores de Cloud Build proporciona compiladores de código abierto que puedes usar para ejecutar tus tareas. Las imágenes precompiladas no están disponibles para estos compiladores. Para usarlos, descarga el código fuente del repositorio de GitHub de la comunidad de compiladores de Cloud y, a continuación, compila la imagen. Para ver un ejemplo de cómo crear un compilador aportado por la comunidad y, después, usarlo en tus tareas, consulta Crear imágenes de máquina virtual mediante Packer.

En la siguiente tabla se muestran algunos ejemplos de creadores aportados por la comunidad:

Builder Descripción
docker-compose Ejecuta pruebas de integración en imágenes de Docker.
harness-chaos Lanza experimentos de caos y prueba la resiliencia de las aplicaciones con Harness Chaos Engineering.
helm Gestiona paquetes de Kubernetes con Helm.
kaniko Ejecuta el paso de compilación con kaniko.
pack Ejecuta el paso de compilación con el Cloud Native Buildpack especificado.
packer Automatiza la creación de imágenes de máquina con Packer.
remote-builder Ejecuta el paso de compilación en una máquina virtual de Compute Engine configurable.
Lista completa de compiladores de la comunidad para Cloud Build

Los compiladores aportados por la comunidad los mantiene la comunidad de código abierto en cloud builders community. Cloud Build no mantiene oficialmente estos compiladores. Para obtener información sobre cómo contribuir a un compilador, consulta la página de GitHub de la comunidad de compiladores de Cloud.

Escribir tu propio creador personalizado

Puedes crear tu propio compilador personalizado para usarlo en tus compilaciones. Un compilador personalizado es una imagen de contenedor que Cloud Build extrae y ejecuta con tu fuente. Tu compilador personalizado puede ejecutar cualquier secuencia de comandos o archivo binario dentro del contenedor, por lo que puede hacer cualquier cosa que pueda hacer un contenedor. Para obtener instrucciones sobre cómo crear un compilador personalizado, consulta Crear pasos de compilación personalizados.

Siguientes pasos