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í comoinstall
,pre_build
,build
ypost_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 elmvn 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 comandosecho
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 deecho
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. -
artifacts
representa el conjunto de artefactos de salida de la compilación que se CodeBuild carga en el depósito de salida.files
representa los archivos que se van a incluir en el resultado de la compilación. CodeBuild carga el únicomessageUtil-1.0.jar
archivo que se encuentra en el directoriotarget
relativo del entorno de compilación. El nombre del archivomessageUtil-1.0.jar
y el nombre del directoriotarget
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