Paso 2: Crear el archivo de especificación de compilación - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 2: Crear el archivo de especificación de compilación

(Paso anterior: Paso 1: Crear el código fuente)

En este paso, creará un archivo de especificación de compilación. Una especificación de compilación es un conjunto de comandos de compilación y configuraciones relacionadas, en formato YAML, que se CodeBuild utiliza para ejecutar una compilación. Sin una especificación de compilación, CodeBuild no se puede convertir correctamente la entrada de compilación en el resultado de la compilación ni localizar el artefacto de salida de la compilación en el entorno de compilación para cargarlo en el depósito de salida.

Cree este archivo, asígnele el nombre buildspec.yml y guárdelo en el directorio raíz (nivel superior).

version: 0.2 phases: install: runtime-versions: java: corretto11 pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar
importante

Como una declaración de especificación de compilación debe ser una declaración YAML válida, los espacios de la declaración son importantes. Si el número de espacios de la declaración de especificación de compilación no coincide con esta declaración, la compilación podría producir un error inmediatamente. Puede utilizar un validador de YAML para comprobar si la declaración de especificación de compilación es una declaración YAML válida.

nota

En lugar de incluir un archivo de especificación de compilación en el código fuente, puede declarar los comandos de la compilación por separado cuando cree un proyecto de compilación. Esto resulta útil si desea compilar el código fuente con diferentes comandos de compilación sin actualizar el código fuente del repositorio cada vez. Para obtener más información, consulte Sintaxis de buildspec.

En esta declaración de especificación de compilación:

  • version representa la versión del estándar de especificación de compilación que se va a usar. Esta declaración de especificación de compilación usa la última versión, 0.2.

  • phases representa las fases de compilación en las que puede indicar a CodeBuild que ejecute comandos. Estas fases de compilación se muestran aquí como install, pre_build, build y post_build. No puede cambiar los nombres de estas fases de compilación ni puede crear nombres de fases de compilación adicionales.

    En este ejemplo, durante la build fase, CodeBuild ejecuta el mvn install comando. Este comando indica a Apache Maven que compile, pruebe y empaquete los archivos de clases Java compilados en un artefacto de salida de la compilación. En aras de una mayor exhaustividad, se incluyen algunos comandos echo en cada fase de compilación de este ejemplo. Cuando vea información de compilación detallada más adelante en este tutorial, la salida de estos comandos de echo puede ayudarlo a comprender mejor cómo CodeBuild ejecuta los comandos y en qué orden lo hace. (Aunque en este ejemplo se incluyen todas las fases de compilación, no es necesario que incluya una fase de compilación si no piensa ejecutar ningún comando durante esa fase). Para cada fase de compilación, CodeBuild ejecuta cada comando especificado, uno a la vez, en el orden indicado, de principio a fin.

  • artifactsrepresenta el conjunto de artefactos de salida de la compilación que se CodeBuild carga en el depósito de salida. filesrepresenta los archivos que se van a incluir en el resultado de la compilación. CodeBuild carga el único messageUtil-1.0.jar archivo que se encuentra en el directorio target relativo del entorno de compilación. El nombre del archivo messageUtil-1.0.jar y el nombre del directorio target se basan en la forma en que Apache Maven crea y almacena los artefactos de salida de la compilación para este ejemplo únicamente. En sus propias compilaciones, estos nombres de archivos y directorios son diferentes.

Para obtener más información, consulte Referencia de la especificación de compilación.

En este punto, la estructura de directorios debería ser similar a la siguiente.

(root directory name) |-- pom.xml |-- buildspec.yml `-- src |-- main | `-- java | `-- MessageUtil.java `-- test `-- java `-- TestMessageUtil.java

Siguiente paso

Paso 3: Crear dos buckets de S3