En esta página se explica cómo usar Cloud Build para compilar y probar aplicaciones basadas en Java, almacenar artefactos compilados en un repositorio de Maven en Artifact Registry y generar información de procedencia de la compilación.
Antes de empezar
- Tener experiencia en la creación de aplicaciones basadas en Java.
- Familiarizarse con Maven
- Ten listo tu proyecto de Java.
- Familiarízate con cómo escribir un archivo de configuración de Cloud Build.
- Tener un repositorio Maven en Artifact Registry. Si no tienes uno, crea un repositorio.
- Para ejecutar los comandos gcloudde esta página, instala la CLI de Google Cloud.
Usar la imagen maven
Puedes configurar Cloud Build para compilar aplicaciones Java con la imagen maven de Docker Hub.
Para ejecutar tus tareas en la imagen maven, añade un paso a tu configuración de compilación con los siguientes campos:
- name: asigna el valor- maveno- maven:<tag>a este campo, donde la etiqueta representa la versión. Si no especificas la etiqueta de imagen, Cloud Build usará la imagen- latestde forma predeterminada.
- entrypoint: si se define este campo, se anula el punto de entrada predeterminado de la imagen a la que se hace referencia en- name. Asigna el valor- mvna este campo para invocar- mvncomo punto de entrada del paso de compilación y ejecutar comandos- mvn.
- args: el campo- argsde un paso de compilación toma una lista de argumentos y los transfiere a la imagen a la que hace referencia el campo- name.
En el siguiente paso de compilación se especifica el entrypoint de la imagen maven etiquetada como 3.3-jdk-8 y se imprime la versión de la herramienta de compilación:
          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']
Configurar compilaciones de Java
- En el directorio raíz de tu proyecto, crea un archivo de configuración de compilación llamado - cloudbuild.yaml.
- Ejecutar pruebas: - mavenproporciona- maven test, que descarga las dependencias, compila las aplicaciones y ejecuta las pruebas especificadas en el código fuente. El campo- argsde un paso de compilación toma una lista de argumentos y los pasa a la imagen a la que hace referencia el campo- name.- En el archivo de configuración de compilación, añade - testal campo- argspara invocar- testen- maven:- steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
- Empaquetar aplicación: para empaquetar tu aplicación en un archivo JAR para tu imagen - maven, especifica el comando- packageen el campo- args. El comando- packagecrea un archivo JAR en- /workspace/target/.- El siguiente paso de compilación empaqueta tu aplicación Java: - steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
- Subir a Artifact Registry: - En el archivo de configuración de compilación, usa el campo - mavenArtifactspara especificar la ruta de tu aplicación y tu repositorio Maven en Artifact Registry:- artifacts: mavenArtifacts: - repository: 'https://location-maven.pkg.dev/project-id/repository-name' path: 'app-path' artifactId: 'build-artifact' groupId: 'group-id' version: 'version'- Sustituye los siguientes valores: - location: la ubicación de tu repositorio en Artifact Registry.
- project-id: el ID del Google Cloud proyecto que contiene tu repositorio de Artifact Registry.
- repository-name: el nombre de tu repositorio de Maven en Artifact Registry.
- app-path: la ruta a la aplicación empaquetada.
- build-artifact: el nombre del archivo de paquete creado en el paso de compilación.
- group-id: identifica de forma única tu proyecto en todos los proyectos de Maven. Tiene el formato com.mycompany.app. Para obtener más información, consulta la guía de Maven sobre convenciones de nomenclatura.
- version: el número de versión de tu aplicación, con el formato de números y puntos, como 1.0.1.
 
- Opcional: Habilitar la generación de procedencia - Cloud Build puede generar metadatos de procedencia de compilación verificables de niveles de la cadena de suministro para artefactos de software (SLSA) para proteger tu flujo de integración continua. - Para habilitar la generación de procedencia, añade - requestedVerifyOption: VERIFIEDa la sección- optionsde tu archivo de configuración.
- Inicia la compilación: manualmente o con activadores de compilación. - Una vez que se haya completado la compilación, puedes ver los detalles del repositorio en Artifact Registry. - También puedes ver los metadatos de procedencia de la compilación y validar la procedencia. 
Siguientes pasos
- Consulta cómo ver los resultados de las compilaciones.
- Consulta cómo proteger las compilaciones.
- Consulta cómo realizar implementaciones azul/verde en Compute Engine.
- Consulta cómo compilar y contenerizar aplicaciones Java.
- Consulta cómo desplegar una aplicación en Cloud Run.
- Consulta cómo desplegar una aplicación en GKE.
- Consulta cómo solucionar errores de compilación.