Compiladores en la nube

Los Compiladores en la nube son imágenes de contenedor con lenguajes y herramientas comunes instaladas. Puedes configurar Cloud Build para ejecutar un comando específico dentro del contexto de estos compiladores.

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

Imágenes disponibles a nivel público

Cloud Build permite usar cualquier imagen disponible a nivel público para ejecutar las tareas. Para usar una imagen, especifica su URL en el campo name del archivo de configuración. Usa el campo args para especificar los comandos que deseas ejecutar dentro de la imagen. En el campo args de un paso de compilación, se toma una lista de argumentos y se los pasa a la imagen a la que se hace referencia en el campo name.

En el siguiente fragmento de código, se muestra cómo usar la imagen pública ubuntu de Docker Hub y ejecuta un comando dentro de esa imagen:

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

Este es otro fragmento de código de ejemplo en el que se usa la imagen de análisis de código abierto de Black Duck para Cloud Build desde Google Cloud Console Launcher:

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

Para obtener más ejemplos sobre cómo usar las imágenes disponibles a nivel público de Docker Hub en tus tareas, consulta Compila aplicaciones de Node.js y Compila aplicaciones de Go.

Imágenes de compiladores compatibles que proporciona Cloud Build

Cloud Build proporciona y mantiene imágenes compiladas con anterioridad a las que puedes hacer referencia en tu archivo de configuración para ejecutar tareas. Puedes encontrar estas imágenes compiladas con anterioridad en la siguiente ubicación:

gcr.io/cloud-builders/...

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

Para ver ejemplos sobre cómo usar imágenes compiladas con anterioridad compatibles, consulta Compila imágenes de contenedor y Realiza implementaciones en Cloud Run.

En la siguiente tabla, se enumeran algunos ejemplos de imágenes de compilador compatibles:

Compilador 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 ejemplo de git
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 ejemplo de gradle
maven gcr.io/cloud-builders/mvn ejemplo de maven
Lista completa de compiladores compatibles con Cloud Build.

Compiladores que aporta 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 compiladas previamente no están disponibles para estos constructores; para usar estos compiladores, descarga el código fuente desde la nube GitHub de la comunidad de compiladores repositorio y, luego, compilar la imagen. Si quieres obtener un ejemplo sobre cómo crear un compilador aportado por la comunidad y usarlo en tus tareas, consulta Compila imágenes de VM mediante Packer.

En la tabla siguiente, se enumeran algunos ejemplos de compiladores que aporta la comunidad:

Compilador Descripción
docker-compose Ejecuta pruebas de integración en imágenes de Docker.
harness-chaos Inicia experimentos de caos y prueba la resiliencia de las aplicaciones con Ingeniería del caos de Harness.
helm Administra paquetes de Kubernetes con Helm.
kaniko Ejecuta tu paso de compilación con kaniko.
pack Ejecuta tu 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 tu paso de compilación en una VM de Compute Engine configurable.
Lista completa de compiladores que aporta la comunidad en Cloud Build.

La comunidad de código abierto es la encargada de mantener los compiladores que se aportan a la comunidad en la comunidad de compiladores de Cloud. Cloud Build no tiene mantener estos compiladores. Para obtener información sobre cómo contribuir a un compilador, consulta la página de GitHub de la comunidad de compiladores en la nube.

Escribe tu propio compilador personalizado

Puedes crear tu propio compilador personalizado para usar en tus compilaciones. Un compilador personalizado es una imagen de contenedor que Cloud Build extrae y ejecuta con tu fuente. El compilador personalizado puede ejecutar cualquier secuencia de comandos o cualquier objeto binario dentro del contenedor. Por lo tanto, puede hacer todo lo que hace un contenedor. A fin de obtener instrucciones para crear un compilador personalizado, consulta Crea pasos de compilación personalizados.

¿Qué sigue?