Edición de la especificación de compilación en la consola Amplify - AWS Amplify Hospedaje

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.

Edición de la especificación de compilación en la consola Amplify

Puede personalizar la configuración de compilación de una aplicación editando la especificación de compilación en la consola Amplify. La configuración de compilación se aplica a todas las ramas de la aplicación, excepto a las que tienen un amplify.yml archivo guardado en el repositorio de Git.

Para editar la configuración de compilación en la consola Amplify
  1. Inicia sesión en AWS Management Console y abre la consola Amplify.

  2. Elige la aplicación para la que quieres editar la configuración de compilación.

  3. En el panel de navegación, selecciona Hosting y, a continuación, selecciona Configuración de compilación.

  4. En la página de configuración de compilación, en la sección de especificaciones de compilación de aplicaciones, selecciona Editar.

  5. En la ventana Editar especificaciones de compilación, introduce tus actualizaciones.

  6. Seleccione Guardar.

Puedes usar los ejemplos que se describen en los siguientes temas para actualizar la configuración de compilación para escenarios específicos.

Establecer la configuración de compilación específica de la rama mediante secuencias de comandos

Puede utilizar scripts del intérprete de comandos Bash para establecer la configuración de compilación específica de ramificación. Por ejemplo, el siguiente script usa la variable de entorno del sistema $ AWS_BRANCH para ejecutar un conjunto de comandos si el nombre de la rama es main y un conjunto de comandos diferente si el nombre de la rama es dev.

frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi

Para monorepos, los usuarios quieren poder utilizar cd en una carpeta para ejecutar la compilación. Después de ejecutar el comando cd, se aplica a todas las etapas de la compilación para que no sea necesario repetir el comando en fases independientes.

version: 1 env: variables: key: value frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build

Implementar el backend con el front-end para una aplicación de primera generación

nota

Esta sección se aplica únicamente a las aplicaciones Amplify Gen 1. Se crea un backend de primera generación mediante Amplify Studio y la interfaz de línea de comandos Amplify (). CLI

El comando amplifyPush es un script auxiliar que le ayuda con las implementaciones del backend. La configuración de compilación siguiente determina automáticamente el entorno de backend correcto que se va a implementar para la ramificación actual.

version: 1 env: variables: key: value backend: phases: build: commands: - amplifyPush --simple

Configuración de la carpeta de salida

La siguiente configuración de compilación establece el directorio de salida en la carpeta pública.

frontend: phases: commands: build: - yarn run build artifacts: baseDirectory: public

Instalación de paquetes como parte de una compilación

Puede utilizar los comandos npm o yarn para instalar paquetes durante la compilación.

frontend: phases: build: commands: - npm install -g <package> - <package> deploy - yarn run build artifacts: baseDirectory: public

Uso de un registro npm privado

Puede añadir referencias a un registro privado en la configuración de compilación o añadirlo como variable de entorno.

build: phases: preBuild: commands: - npm config set <key> <value> - npm config set registry https://registry.npmjs.org - npm config set always-auth true - npm config set email hello@amplifyapp.com - yarn install

Instalación de paquetes de SO

La imagen AL2 023 de Amplify ejecuta tu código con un nombre de usuario sin privilegios. amplify Amplify otorga a este usuario privilegios para ejecutar comandos del sistema operativo mediante el comando de Linux. sudo Si desea instalar paquetes de sistema operativo para las dependencias que faltan, puede utilizar comandos como yum y rpm with. sudo

En la siguiente sección de compilación de ejemplos se muestra la sintaxis para instalar un paquete de sistema operativo mediante el sudo comando.

build: phases: preBuild: commands: - sudo yum install -y <package>

Establecer el almacenamiento de valores clave para cada compilación

El envCache ofrece almacenamiento de un valor clave en el momento de la compilación. Los valores almacenados en envCache solo se pueden modificar durante una compilación y se pueden volver a utilizar durante la siguiente compilación. Mediante envCache, podemos almacenar información en el entorno implementado y hacer que esté disponible para el contenedor de compilación en compilaciones sucesivas. A diferencia de los valores almacenados en envCache, los cambios en las variables de entorno durante una compilación no se almacenan de forma persistente en futuras compilaciones.

Ejemplo de uso:

envCache --set <key> <value> envCache --get <key>

Omitir la compilación para realizar una confirmación

Para omitir la compilación automática de una confirmación concreta, incluya el texto [skip-cd] al final del mensaje de confirmación.

Desactivar las compilaciones automáticas en cada confirmación

Puedes configurar Amplify para que desactive las compilaciones automáticas en cada confirmación de código. Para configurarlo, selecciona la configuración de la aplicación, la configuración de la sucursal y, a continuación, busca la sección Sucursales que muestra las sucursales conectadas. Seleccione una rama y, a continuación, elija Acciones, Desactivar la creación automática. Las nuevas confirmaciones en esa rama ya no iniciarán una nueva compilación.

Configurar, compilar e implementar una interfaz basada en diferencias

Puede configurar Amplify para utilizar compilaciones de frontend basadas en diferencias. Si está habilitada, Amplify intentará ejecutar una diferencia en su appRoot, o en la carpeta /src/ de forma predeterminada al inicio de cada compilación. Si Amplify no encuentra ninguna diferencia, omite la compilación de frontend, prueba (si se configura) e implementa los pasos y no actualiza la aplicación alojada.

Para configurar la compilación e implementación de frontend basada en diferencias
  1. Inicie sesión en AWS Management Console y abre la consola Amplify.

  2. Elija la aplicación para la que desea configurar la creación e implementación de frontend basada en diferencias.

  3. En el panel de navegación, elija Alojamiento, variables de entorno.

  4. En la sección Variables de entorno, elija Administrar variables.

  5. El procedimiento de configuración de la variable de entorno varía en función de si se habilita o deshabilita la creación e implementación de frontend basada en diferencias.

    • Para habilitar la creación e implementación de frontend basada en diferencias

      1. En la sección Administrar variables de Variable, introduzca AMPLIFY_DIFF_DEPLOY.

      2. En Valor, introduzca true.

    • Para deshabilitar la creación e implementación de frontend basada en diferencias

      1. Lleve a cabo una de las siguientes acciones:

        • En la sección Administrar variables, busque AMPLIFY_DIFF_DEPLOY. En Valor, introduzca false.

        • Elimine la variable de entorno AMPLIFY_DIFF_DEPLOY.

  6. Elija Guardar.

Opcionalmente, puede configurar la variable de entorno AMPLIFY_DIFF_DEPLOY_ROOT para anular la ruta predeterminada con una ruta relativa a la raíz de su repositorio, como dist.

Configuración de compilaciones de backend basadas en diferencias para una aplicación de primera generación

nota

Esta sección se aplica únicamente a las aplicaciones Amplify Gen 1. Se crea un backend de primera generación mediante Amplify Studio y la interfaz de línea de comandos Amplify (). CLI

Puede configurar Amplify Hosting para utilizar compilaciones de backend basadas en diferencias mediante la variable de entorno AMPLIFY_DIFF_BACKEND. Al habilitar las compilaciones de backend basadas en diferencias, al comienzo de cada compilación, Amplify intenta ejecutar una diferencia en la carpeta amplify de su repositorio. Si Amplify no encuentra ninguna diferencia, omitirá el paso de compilación del backend y no actualizará los recursos del backend. Si su proyecto no tiene la carpeta amplify en el repositorio, Amplify ignorará el valor AMPLIFY_DIFF_BACKEND de la variable de entorno.

Si actualmente tiene comandos personalizados especificados en la configuración de compilación de la fase de backend, las compilaciones de backend condicionales no funcionarán. Si desea que esos comandos personalizados se ejecuten, deberá moverlos a la fase de frontend de la configuración de compilación en el archivo amplify.yml de su aplicación.

Para configurar compilaciones de backend basadas en diferencias
  1. Inicia sesión en AWS Management Console y abre la consola Amplify.

  2. Elija la aplicación para la que desea configurar las compilaciones de backend basadas en diferencias.

  3. En el panel de navegación, elija Alojamiento, variables de entorno.

  4. En la sección Variables de entorno, elija Administrar variables.

  5. El procedimiento de configuración de la variable de entorno varía en función de si se habilitan o deshabilitan las compilaciones de backend basadas en diferencias.

    • Para habilitar las compilaciones de backend basadas en diferencias

      1. En la sección Administrar variables de Variable, introduzca AMPLIFY_DIFF_BACKEND.

      2. En Valor, introduzca true.

    • Para deshabilitar las compilaciones de backend basadas en diferencias

      1. Lleve a cabo una de las siguientes acciones:

        • En la sección Administrar variables, busque AMPLIFY_DIFF_BACKEND. En Valor, introduzca false.

        • Elimine la variable de entorno AMPLIFY_DIFF_BACKEND.

  6. Seleccione Guardar.