Compilar y probar aplicaciones Java

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

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 maven o maven:<tag> a este campo, donde la etiqueta representa la versión. Si no especificas la etiqueta de imagen, Cloud Build usará la imagen latest 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 en name. Asigna el valor mvn a este campo para invocar mvn como punto de entrada del paso de compilación y ejecutar comandos mvn.
  • args: el campo args de 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

  1. En el directorio raíz de tu proyecto, crea un archivo de configuración de compilación llamado cloudbuild.yaml.

  2. Ejecutar pruebas: maven proporciona maven test, que descarga las dependencias, compila las aplicaciones y ejecuta las pruebas especificadas en el código fuente. 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.

    En el archivo de configuración de compilación, añade test al campo args para invocar test en maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Empaquetar aplicación: para empaquetar tu aplicación en un archivo JAR para tu imagen maven, especifica el comando package en el campo args. El comando package 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']
    
  4. 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.
  5. 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ón options de tu archivo de configuración.

  6. 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