Referencia del archivo AppSpec de CodeDeploy
Esta sección se incluye solo como referencia. Para obtener información general sobre el archivo AppSpec, consulte Application Specification Files.
El archivo de especificación de la aplicación (archivo AppSpec) es un archivo con formato YAML
nota
El archivo AppSpec de una implementación de EC2/en las instalaciones debe denominarse appspec.yml, a menos que vaya a realizar una implementación local. Para obtener más información, consulte Creación de una implementación local.
Temas
Archivos AppSpec en una plataforma de informática Amazon ECS
En el caso de las aplicaciones de la plataforma de informática Amazon ECS, CodeDeploy utiliza el archivo AppSpec para determinar:
-
El archivo de definición de la tarea de Amazon ECS. Se especifica con su ARN en la instrucción
TaskDefinitionen el archivo AppSpec. -
El contenedor y el puerto en el conjunto de tareas de sustitución donde el Equilibrador de carga de aplicación o el Equilibrador de carga de red redirige tráfico durante una implementación. Se especifica con la instrucción
LoadBalancerInfoen el archivo AppSpec. -
Información opcional acerca del servicio del servicio de Amazon ECS como, por ejemplo, la versión de la plataforma en la que se ejecuta, sus subredes y sus grupos de seguridad.
-
Funciones de Lambda opcionales que ejecutar durante enlaces que se corresponden con eventos de ciclo de vida durante una implementación de Amazon ECS. Para obtener más información, consulte Sección "hooks" de AppSpec para una implementación de Amazon ECS.
Archivos AppSpec en una plataforma de informática AWS Lambda
En el caso de las aplicaciones de la plataforma de informática AWS Lambda, CodeDeploy utiliza el archivo AppSpec para determinar:
-
Qué versión de función de Lambda se debe implementar.
-
Qué funciones de Lambda se van a usar como pruebas de validación.
Un archivo AppSpec puede tener un formato YAML o JSON. También puede introducir el contenido de un archivo AppSpec directamente en la consola de CodeDeploy al crer una implementación.
Archivos AppSpec en una plataforma de informática EC2/en las instalaciones
Si la aplicación utiliza la plataforma de informática EC2/en las instalaciones, el archivo AppSpec debe tener un nombre de archivo con formato YAML denominado appspec.yml y debe colocarse en la raíz de la estructura de directorios del código fuente de la aplicación. De lo contrario, las implementaciones producirán un error. Lo utiliza CodeDeploy para determinar:
-
Lo que se debe instalar en las instancias de la revisión de la aplicación en Amazon S3 o GitHub.
-
Los enlaces de eventos del ciclo de vida que se deben ejecutar en respuesta a los eventos del ciclo de vida de la implementación.
Una vez completado un archivo AppSpec, lo empaqueta junto con el contenido que va a implementar en un archivo de almacenamiento (zip, tar o tar comprimido). Para obtener más información, consulte Gestión de revisiones de aplicaciones para CodeDeploy.
nota
Los formatos de archivo tar y tar comprimido (.tar y .tar.gz) no son compatibles con las instancias de Windows Server.
Una vez que tenga un archivo de almacenamiento empaquetado (denominado revisión en CodeDeploy), lo cargará en un bucket de Amazon S3 o en un repositorio Git. A continuación usará CodeDeploy para implementar la revisión. Para obtener instrucciones, consulte Creación de una implementación con CodeDeploy.
El archivo appspec.yml para la implementación en una plataforma de informática de EC2/en las instalaciones se guarda en el directorio raíz de la revisión. Para obtener más información, consulte Adición de un archivo AppSpec para una implementación de EC2/en las instalaciones y Planificación de una revisión de CodeDeploy.
Espaciado de archivos AppSpec
A continuación se presenta el formato correcto para el espaciado de los archivos AppSpec. Los números entre corchetes indican el número de espacios que debe aparecer entre los elementos. Por ejemplo, [4] significa que debe insertar cuatro espacios entre los elementos. CodeDeploy producirá un error que puede ser difícil de depurar si las ubicaciones y el número de espacios en un archivo AppSpec no son correctos.
version:[1]version-numberos:[1]operating-system-namefiles: [2]-[1]source:[1]source-files-location[4]destination:[1]destination-files-locationpermissions: [2]-[1]object:[1]object-specification[4]pattern:[1]pattern-specification[4]except:[1]exception-specification[4]owner:[1]owner-account-name[4]group:[1]group-name[4]mode:[1]mode-specification[4]acls: [6]-[1]acls-specification[4]context: [6]user:[1]user-specification[6]type:[1]type-specification[6]range:[1]range-specification[4]type: [6]-[1]object-typehooks: [2]deployment-lifecycle-event-name: [4]-[1]location:[1]script-location[6]timeout:[1]timeout-in-seconds[6]runas:[1]user-name
A continuación se muestra un ejemplo de un archivo AppSpec con el espaciado correcto:
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
Para obtener más información acerca del espaciado, consulte la especificación de YAML