Paso 2: Crear el archivo buildspec - 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 buildspec

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

En este paso, creará un archivo de especificación de compilación. UNAbuildspeces una colección de comandos de compilación y opciones relacionadas, en formato YAML, que CodeBuild utiliza para ejecutar una compilación. Sin una especificación de compilación, CodeBuild no puede convertir correctamente la entrada de la compilación ni puede encontrar el artefacto de salida de la compilación en el entorno de compilación para cargarlo en el bucket 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.

  • phasesrepresenta 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, durantebuildfase, CodeBuild ejecuta elmvn installcomando. 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 más tarde consulte información detallada sobre la compilación en este tutorial, el resultado de estosechopueden ayudarle a comprender mejor cómo CodeBuild ejecuta los comandos y en qué orden. (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, uno cada vez, en el orden indicado, de principio a fin.

  • artifactsrepresenta el conjunto de artefactos de salida de la compilación que CodeBuild carga en el bucket de salida.filesrepresenta los archivos que se incluyen en la salida de la compilación. CodeBuild carga el únicomessageUtil-1.0.jararchivo encontrado en eltargetrelative directory en el 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 la 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

Paso siguiente

Paso 3: Cree dos buckets de S3