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
gcloud
de 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 valormaven
omaven:<tag>
a este campo, donde la etiqueta representa la versión. Si no especificas la etiqueta de imagen, Cloud Build usará la imagenlatest
de forma predeterminada.entrypoint
: si se define este campo, se anula el punto de entrada predeterminado de la imagen a la que se hace referencia enname
. Asigna el valormvn
a este campo para invocarmvn
como punto de entrada del paso de compilación y ejecutar comandosmvn
.args
: el campoargs
de un paso de compilación toma una lista de argumentos y los transfiere a la imagen a la que hace referencia el camponame
.
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:
maven
proporcionamaven test
, que descarga las dependencias, compila las aplicaciones y ejecuta las pruebas especificadas en el código fuente. El campoargs
de un paso de compilación toma una lista de argumentos y los pasa a la imagen a la que hace referencia el camponame
.En el archivo de configuración de compilación, añade
test
al campoargs
para invocartest
enmaven
: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 comandopackage
en el campoargs
. El comandopackage
crea 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
mavenArtifacts
para 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: VERIFIED
a la secciónoptions
de 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.