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
- Consulta cómo usar compiladores personalizados y aportados por la comunidad.
- Consulta la estructura de un archivo de configuración de compilación.
- Consulta cómo usar una imagen disponible públicamente
node
para crear aplicacionesNode.js
. - Consulta cómo usar una imagen
gcloud
prediseñada para desplegarla en Cloud Run Functions. - Consulta cómo usar una imagen
firebase
aportada por la comunidad para implementar en Firebase.