Intérpretes de comandos y comandos de los entornos 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.

Intérpretes de comandos y comandos de los entornos de compilación

Proporcione un conjunto de comandos de AWS CodeBuild que se ejecuten en un entorno de compilación durante el ciclo de vida de una compilación (por ejemplo, la instalación de dependencias de compilación, y la comprobación y compilación del código fuente). Hay varias formas de especificar estos comandos:

  • Cree un archivo de especificación de compilación e inclúyalo con su código fuente. En este archivo, especifique los comandos que desea ejecutar en cada fase del ciclo de vida de compilación. Para obtener más información, consulte Referencia de especificación de compilación para CodeBuild.

  • Utilice la consola de CodeBuild para crear un proyecto de compilación. En Insert build commands (Insertar comandos de compilación), para Build commands (Comandos de compilación), especifique los comandos que desea ejecutar en la fase build. Para obtener más información, consulte Creación de un proyecto de compilación (consola).

  • Utilice la consola de CodeBuild para cambiar la configuración de un proyecto de compilación. En Insert build commands (Insertar comandos de compilación), para Build commands (Comandos de compilación), especifique los comandos que desea ejecutar en la fase build. Para obtener más información, consulte Cambiar la configuración de un proyecto de compilación (consola).

  • Utilice la AWS CLI o los SDK de AWS para crear un proyecto de compilación o para cambiar la configuración de un proyecto de compilación. Haga referencia al código fuente que contiene un archivo buildspec con los comandos o especifique una única cadena que incluya el contenido de un archivo buildspec equivalente. Para obtener más información, consulte Creación de un proyecto de compilación o Cambiar la configuración de un proyecto de compilación.

  • Utilice la AWS CLI o los SDK de AWS para comenzar una compilación, especificando un archivo buildspec o una única cadena que incluya el contenido de un archivo buildspec equivalente. Para obtener más información, consulte la descripción del valor buildspecOverride en Ejecutar una compilación.

Puede especificar cualquier comando de Lenguaje de comandos de intérprete de comandos (sh). En la versión de especificación de compilación 0.1, CodeBuild ejecuta cada comando del intérprete de comandos en una instancia independiente del entorno de compilación. Esto significa que cada comando se ejecuta con independencia de los demás. Por lo tanto, de forma predeterminada, no puede ejecutar un comando que se base en el estado de comandos anteriores (por ejemplo, cambiar directorios o configurar variables de entorno). Para solventar esta limitación, le recomendamos utilizar la versión 0.2, que soluciona este problema. Si debe utilizar la versión 0.1, se recomiendan los siguientes enfoques:

  • Incluya un script del intérprete de comandos en el código fuente que contenga los comandos que desea ejecutar en una única instancia del intérprete de comandos predeterminado. Por ejemplo, podría incluir un archivo denominado my-script.sh en su código fuente que contenga comandos como cd MyDir; mkdir -p mySubDir; cd mySubDir; pwd;. A continuación, en el archivo buildspec, especifique el comando ./my-script.sh.

  • En el archivo buildspec, o en la opción Comandos de compilación para la fase build únicamente, especifique un solo comando que incluya todos los comandos que desee ejecutar en una sola instancia en el intérprete de comandos predeterminado (por ejemplo, cd MyDir && mkdir -p mySubDir && cd mySubDir && pwd).

Si CodeBuild encuentra un error, el error podría ser más difícil de solucionar que cuando se ejecuta un solo comando en su propia instancia del intérprete de comandos predeterminado.

Los comandos que se ejecutan en una imagen de Windows Server Core usan el intérprete de comandos Powershell.