

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.

# CodeDeploy AppSpec referencia de archivo
<a name="reference-appspec-file"></a>

Esta sección se incluye solo como referencia. Para obtener una visión general conceptual del AppSpec archivo, consulte[CodeDeploy archivos de especificación de la aplicación (AppSpec)](application-specification-files.md).

El archivo de especificaciones de la aplicación (AppSpec archivo) es un archivo con formato [YAML](http://www.yaml.org) o con formato JSON que se utiliza para administrar una implementación. CodeDeploy 

**nota**  
El AppSpec archivo de una implementación de EC2/local debe tener un nombre`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](deployments-local.md#deployments-local-deploy).

**Topics**
+ [AppSpec archivos en una plataforma informática Amazon ECS](#appspec-reference-ecs)
+ [AppSpec archivos en una plataforma AWS Lambda informática](#appspec-reference-lambda)
+ [AppSpec archivos en una plataforma informática local de EC2/](#appspec-reference-server)
+ [AppSpec Estructura de archivos](reference-appspec-file-structure.md)
+ [AppSpec Ejemplo de archivo](reference-appspec-file-example.md)
+ [AppSpec Espaciado de archivos](#reference-appspec-file-spacing)
+ [Valide su AppSpec archivo y su ubicación](reference-appspec-file-validate.md)

## AppSpec archivos en una plataforma informática Amazon ECS
<a name="appspec-reference-ecs"></a>

En el caso de las aplicaciones de la plataforma informática Amazon ECS, el AppSpec archivo lo utiliza CodeDeploy para determinar: 
+  El archivo de definición de la tarea de Amazon ECS. Esto se especifica con su ARN en la `TaskDefinition` instrucción del 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. Esto se especifica con la `LoadBalancerInfo` instrucción del AppSpec archivo. 
+  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 [AppSpec sección «ganchos» para una implementación de Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs). 

## AppSpec archivos en una plataforma AWS Lambda informática
<a name="appspec-reference-lambda"></a>

En el AWS caso de las aplicaciones de la plataforma de cómputo Lambda, el AppSpec archivo se utiliza CodeDeploy 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 AppSpec archivo puede tener formato YAML o JSON. También puede introducir el contenido de un AppSpec archivo directamente en la CodeDeploy consola al crear una implementación.

## AppSpec archivos en una plataforma informática local de EC2/
<a name="appspec-reference-server"></a>

 Si la aplicación utiliza la plataforma informática local de EC2, el AppSpec archivo debe tener un nombre de archivo con formato YAML `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 para determinar: CodeDeploy 
+ Qué debe instalar en sus instancias desde la revisión de su 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 el AppSpec archivo, lo agrupa, junto con el contenido que se va a implementar, en un archivo de almacenamiento (zip, tar o tar comprimido). Para obtener más información, consulte [Trabajar con revisiones de aplicaciones para CodeDeploy](application-revisions.md).

**nota**  
Los formatos de archivo tar y tar comprimido (.tar y .tar.gz) no son compatibles con las instancias de Windows Server.

Cuando tengas un archivo empaquetado (conocido CodeDeploy como *revisión*), lo subes a un bucket de Amazon S3 o a un repositorio de Git. A continuación, se utiliza CodeDeploy para implementar la revisión. Para obtener instrucciones, consulte [Cree una implementación con CodeDeploy](deployments-create.md).

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 [Agregue un AppSpec archivo para una implementación local de EC2/](application-revisions-appspec-file.md#add-appspec-file-server) y [Planifique una revisión para CodeDeploy](application-revisions-plan.md). 

## AppSpec Espaciado de archivos
<a name="reference-appspec-file-spacing"></a>

El siguiente es el formato correcto para el espaciado de AppSpec archivos. Los números entre corchetes indican el número de espacios que debe aparecer entre los elementos. Por ejemplo, `[4]` significa insertar cuatro espacios entre los elementos. CodeDeploy genera un error que puede ser difícil de depurar si las ubicaciones y el número de espacios de un AppSpec archivo no son correctos.

```
version:[1]{{version-number}}
os:[1]{{operating-system-name}}
files:
[2]-[1]source:[1]{{source-files-location}}
[4]destination:[1]{{destination-files-location}}
permissions:
[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-type}}
hooks:
[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 correctamente espaciado AppSpec :

```
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](http://www.yaml.org).