Actualiza la versión en tiempo de ejecución en 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.

Actualiza la versión en tiempo de ejecución en el archivo buildspec

Puede modificar el entorno de tiempo de ejecución que utiliza su proyecto por una nueva versión actualizando la sección runtime-versions del archivo de especificación de compilación. Los siguientes ejemplos muestran cómo se especifican las versiones 8 y 11 de Java.

  • Una sección runtime-versions que especifica la versión 8 de Java:

    phases: install: runtime-versions: java: corretto8
  • Una sección runtime-versions que especifica la versión 11 de Java:

    phases: install: runtime-versions: java: corretto11

Los siguientes ejemplos muestran cómo especificar diferentes versiones de Python utilizando la imagen de Ubuntu estándar 5.0 o la imagen de Amazon Linux 2 estándar 3.0:

  • Una sección de runtime-versions que especifica Python versión 3.7:

    phases: install: runtime-versions: python: 3.7
  • Una sección de runtime-versions que especifica Python versión 3.8:

    phases: install: runtime-versions: python: 3.8

Esta muestra presenta un proyecto que comienza con el tiempo de ejecución de la versión 8 de Java y, a continuación, se actualiza al tiempo de ejecución de la versión 10 de Java.

  1. Descargue e instale Maven. Para obtener información, consulte Downloading Apache Maven e Installing Apache Maven en el sitio web de Apache Maven.

  2. Cambie a un directorio vacío del equipo o instancia local y, a continuación, ejecute este comando Maven.

    mvn archetype:generate "-DgroupId=com.mycompany.app" "-DartifactId=ROOT" "-DarchetypeArtifactId=maven-archetype-webapp" "-DinteractiveMode=false"

    Si el comando se ejecuta correctamente, se creará esta estructura de directorios y archivos.

    . └── ROOT ├── pom.xml └── src └── main ├── resources └── webapp ├── WEB-INF │ └── web.xml └── index.jsp
  3. Cree un archivo denominado buildspec.yml con el siguiente contenido. Guarde el archivo en el directorio (root directory name)/my-web-app.

    version: 0.2 phases: install: runtime-versions: java: corretto8 build: commands: - java -version - mvn package artifacts: files: - '**/*' base-directory: 'target/my-web-app'

    En el archivo buildspec:

    • La sección runtime-versions especifica que el proyecto utiliza la versión 8 del tiempo de ejecución de Java.

    • El comando - java -version muestra la versión de Java que utiliza su proyecto cuando se compila.

    La estructura de archivos debe ser como la siguiente.

    (root directory name) └── my-web-app ├── src │ ├── main │ ├── resources │ └── webapp │ └── WEB-INF │ └── web.xml │ └── index.jsp ├── buildspec.yml └── pom.xml
  4. Sube el contenido del my-web-app directorio a un depósito de entrada de S3 o a un repositorio de CodeCommit GitHub Bitbucket.

    importante

    No cargue (root directory name) o (root directory name)/my-web-app, solo los directorios y archivos incluidos en (root directory name)/my-web-app.

    Si utilizas un depósito de entrada de S3, asegúrate de crear un ZIP archivo que contenga la estructura del directorio y los archivos y, a continuación, cárgalo en el depósito de entrada. No añada (root directory name) ni (root directory name)/my-web-app al ZIP archivo, solo los directorios y archivos que contiene(root directory name)/my-web-app.

  5. Abre la AWS CodeBuild consola en https://console.aws.amazon.com/codesuite/codebuild/home.

  6. Cree un proyecto de compilación. Para obtener más información, consulte Creación de un proyecto de compilación (consola) y Ejecutar una compilación (consola). Deje todas las opciones con sus valores predeterminados, excepto las siguientes opciones.

    • Para Environment (Entorno):

      • En Environment image (Imagen de entorno), elija Managed image (Imagen administrada).

      • En Operating system (Sistema operativo), elija Amazon Linux 2.

      • En Runtime(s) (Tiempo de ejecución), elija Standard (Estándar).

      • En Imagen, elija aws/codebuild/amazonlinux2-x86_64-standard:4.0.

  7. Seleccione Iniciar la compilación.

  8. En Build configuration (Configuración de la compilación), acepte los valores predeterminados y elija Start build (Comenzar compilación).

  9. Una vez finalizada la compilación, consulte la salida de compilación en la pestaña Build logs (Registros de compilación). Debería ver una salida similar a esta:

    [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto8' based on manual selections... [Container] Date Time Running command echo "Installing Java version 8 ..." Installing Java version 8 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_8_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_8_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_8_HOME" [Container] Date Time Running command for tool_path in "$JAVA_8_HOME"/bin/* "$JRE_8_HOME"/bin/*;
  10. Actualice la sección runtime-versions con la versión 11 de Java:

    install: runtime-versions: java: corretto11
  11. Después de guardar el cambio, ejecute la compilación de nuevo y consulte la salida de compilación. Debería ver que la versión instalada de Java es la 11. Debería ver una salida similar a esta:

    [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto11' based on manual selections... Installing Java version 11 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_11_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_11_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_11_HOME" [Container] Date Time Running command for tool_path in "$JAVA_11_HOME"/bin/* "$JRE_11_HOME"/bin/*;