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 de ubuntu de Docker Hub y ejecutar 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 Container Registry 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
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 con anterioridad no están disponibles para estos compiladores; a fin de usarlos, descarga el código fuente del repositorio de GitHub de la comunidad de compiladores en la nube y, a continuación, compila 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.
remote-builder Ejecuta tu paso de compilación en una VM de Compute Engine configurable.
packer Automatiza la creación de imágenes de máquina mediante Packer.
helm Administra paquetes de Kubernetes mediante Helm.
Lista completa de compiladores que aporta la comunidad en Cloud Build.

Para obtener información sobre cómo aportar un compilador, consulta la página de GitHub de la comunidad de compiladores de cloud.

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