

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# CodeDeploy AppSpec referência de arquivo
<a name="reference-appspec-file"></a>

Esta seção é apenas uma referência. Para obter uma visão geral conceitual do AppSpec arquivo, consulte[CodeDeploy arquivos de especificação do aplicativo (AppSpec)](application-specification-files.md).

O arquivo de especificação do aplicativo (AppSpec arquivo) é um arquivo formatado em [YAML](http://www.yaml.org) ou em formato JSON usado por para gerenciar uma implantação. CodeDeploy 

**nota**  
O AppSpec arquivo para uma implantação EC2/local deve ser nomeado`appspec.yml`, a menos que você esteja executando uma implantação local. Para obter mais informações, consulte [Criar uma implantação local](deployments-local.md#deployments-local-deploy).

**Topics**
+ [AppSpec arquivos em uma plataforma computacional Amazon ECS](#appspec-reference-ecs)
+ [AppSpec arquivos em uma plataforma de AWS Lambda computação](#appspec-reference-lambda)
+ [AppSpec arquivos em uma plataforma de computação EC2/local](#appspec-reference-server)
+ [AppSpec Estrutura do arquivo](reference-appspec-file-structure.md)
+ [AppSpec Exemplo de arquivo](reference-appspec-file-example.md)
+ [AppSpec Espaçamento de arquivos](#reference-appspec-file-spacing)
+ [Valide seu AppSpec arquivo e a localização do arquivo](reference-appspec-file-validate.md)

## AppSpec arquivos em uma plataforma computacional Amazon ECS
<a name="appspec-reference-ecs"></a>

Para aplicativos da plataforma de computação Amazon ECS, o AppSpec arquivo é usado CodeDeploy para determinar: 
+  Seu arquivo de definição de tarefa do Amazon ECS. Isso é especificado com seu ARN na `TaskDefinition` instrução no AppSpec arquivo. 
+  O contêiner e a porta de seu conjunto de tarefas de substituição em que o Application Load Balancer ou o Network Load Balancer redireciona o tráfego durante uma implantação. Isso é especificado com a `LoadBalancerInfo` instrução no AppSpec arquivo. 
+  Informações opcionais sobre o serviço do Amazon ECS, como a versão da plataforma em que ele é executado, suas sub-redes e seus grupos de segurança. 
+  Funções do Lambda opcionais que serão executadas durante hooks que correspondam aos eventos de ciclo de vida durante uma implantação do Amazon ECS. Para obter mais informações, consulte [AppSpec seção 'hooks' para uma implantação do Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs). 

## AppSpec arquivos em uma plataforma de AWS Lambda computação
<a name="appspec-reference-lambda"></a>

Para aplicativos AWS da plataforma de computação Lambda, o AppSpec arquivo é usado por para determinar: CodeDeploy 
+ Qual versão da função do Lambda a ser implantada.
+ As funções do Lambda a serem usadas como testes de validação.

Um AppSpec arquivo pode ser formatado em YAML ou em formato JSON. Você também pode inserir o conteúdo de um AppSpec arquivo diretamente no CodeDeploy console ao criar uma implantação.

## AppSpec arquivos em uma plataforma de computação EC2/local
<a name="appspec-reference-server"></a>

 Se seu aplicativo usa a plataforma de computação EC2/local, o AppSpec arquivo deve ser um arquivo no formato YAML chamado `appspec.yml` e deve ser colocado na raiz da estrutura de diretórios do código-fonte de um aplicativo. Caso contrário, haverá falha nas implantações. É usado por CodeDeploy para determinar:
+ O que ele deve instalar em suas instâncias a partir da revisão do aplicativo no Amazon S3 ou. GitHub
+ quais ganchos de evento de ciclo de vida devem ser executados em resposta a eventos de ciclo de vida de implantação.

Depois de concluir um AppSpec arquivo, você o agrupa, junto com o conteúdo a ser implantado, em um arquivo compactado (zip, tar ou tar compactado). Para obter mais informações, consulte [Trabalhando com revisões de aplicativos para CodeDeploy](application-revisions.md).

**nota**  
Os formatos de arquivo tar e tar compactado (.tar e .tar.gz) não são compatíveis com instâncias do Windows Server.

Depois de ter um arquivo compactado (conhecido CodeDeploy como *revisão*), você o carrega em um bucket do Amazon S3 ou repositório Git. Em seguida, você usa CodeDeploy para implantar a revisão. Para instruções, consulte [Crie uma implantação com CodeDeploy](deployments-create.md).

O appspec.yml para uma implantação de plataforma de computação EC2/On-Premises é salvo no diretório raiz da sua revisão. Para obter mais informações, consulte [Adicionar um AppSpec arquivo para uma implantação EC2/local](application-revisions-appspec-file.md#add-appspec-file-server) e [Planeje uma revisão para CodeDeploy](application-revisions-plan.md). 

## AppSpec Espaçamento de arquivos
<a name="reference-appspec-file-spacing"></a>

A seguir está o formato correto para espaçamento de AppSpec arquivos. Os números entre colchetes indicam o número de espaços que deve haver entre os itens. Por exemplo, `[4]` significa inserir quatro espaços entre os itens. CodeDeploy gera um erro que pode ser difícil de depurar se os locais e o número de espaços em um AppSpec arquivo não estiverem corretos.

```
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}}
```

Aqui está um exemplo de um AppSpec arquivo corretamente espaçado:

```
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 obter mais informações sobre espaçamento, consulte a especificação [YAML](http://www.yaml.org).