AWS CodeDeploy
Guía del usuario (Versión de API 2014-10-06)

Archivos de especificación de la aplicación de CodeDeploy

Un application specification file (AppSpec file), que es exclusivo para CodeDeploy, es un archivo con formato YAML o JSON. El AppSpec file se utiliza para administrar cada implementación como una serie de enlaces de eventos de ciclo de vida, que se definen en el archivo.

Para obtener información acerca de cómo crear un AppSpec file con el formato correcto, consulte Referencia de AppSpec File de CodeDeploy.

Archivos AppSpec en una Amazon ECS Plataforma de computación

Si una aplicación utiliza la plataforma de computación Amazon ECS, el AppSpec file puede tener formato YAML o JSON. También se puede escribir directamente en un editor en la consola. El AppSpec file se utiliza para especificar:

  • El nombre del servicio de Amazon ECS y el nombre del contenedor y el puerto utilizado para dirigir el tráfico hacia el nuevo conjunto de tareas.

  • Las funciones que se van a usar como pruebas de validación.

Puede ejecutar funciones de Lambda de validación después de los eventos del ciclo de vida de implementación. Para obtener más información, consulte Sección "hooks" de AppSpec para una implementación de Amazon ECS, Estructura de un archivo AppSpec para las implementaciones de Amazon ECS y AppSpec File Ejemplo de una implementación de Amazon ECS .

Archivos AppSpec en una plataforma de computación AWS Lambda

Si una aplicación utiliza la AWS Lambda plataforma de computación, el AppSpec file puede tener formato YAML o JSON. También se puede escribir directamente en un editor en la consola. El AppSpec file se utiliza para especificar:

  • La versión de la función de AWS Lambda que se debe implementar.

  • Las funciones que se van a usar como pruebas de validación.

Puede ejecutar funciones de Lambda de validación después de los eventos del ciclo de vida de implementación. Para obtener más información, consulte Sección "hooks" de AppSpec para una implementación de AWS Lambda.

Archivos AppSpec en una plataforma de computación EC2/On-Premises

Si una aplicación utiliza la EC2/On-Premises plataforma de computación, el AppSpec file siempre tiene el formato YAML. El AppSpec file se utiliza para:

  • Asignar los archivos de origen de la revisión de la aplicación a sus destinos en la instancia.

  • Especificar permisos personalizados para los archivos implementados.

  • Especificar los scripts que se van a ejecutar en cada instancia en las distintas fases del proceso de implementación.

Puede ejecutar scripts en una instancia después de muchos de los eventos individuales del ciclo de vida de implementación. CodeDeploy ejecuta solo los scripts especificados en el archivo, pero esos scripts pueden llamar a otros scripts en la instancia. Puede ejecutar cualquier tipo de script, siempre y cuando sea compatible con el sistema operativo que se ejecuta en las instancias. Para obtener más información, consulte Sección "hooks" de AppSpec para una implementación de EC2/On-Premises.

Cómo el agente de CodeDeploy utiliza el archivo AppSpec

Durante la implementación, el agente de CodeDeploy busca el nombre del evento actual en la sección hooks del AppSpec file. Si el evento no se encuentra, el agente de CodeDeploy va al siguiente paso. Si el evento se encuentra, el agente de CodeDeploy recupera la lista de scripts que hay que ejecutar. Los scripts se ejecutan de forma secuencial, en el orden en que aparecen en el archivo. El estado de cada script se registra en el archivo de registro del agente de CodeDeploy en la instancia.

Si un script se ejecuta correctamente, devuelve un código de salida de 0 (cero).

nota

El agente de CodeDeploy no se utiliza en una implementación de AWS Lambda o de Amazon ECS.

Durante el evento Install, el agente de CodeDeploy utiliza los mapeos definidos en la sección files del AppSpec file para determinar las carpetas o los archivos que hay que copiar de la revisión a la instancia.

Si el agente de CodeDeploy instalado en el sistema operativo no coincide con lo que se indica en el AppSpec file, la implementación falla.

Para obtener información acerca de los archivos de registro del agente de CodeDeploy, consulte Trabajar con el agente de CodeDeploy.