

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Travailler avec les révisions d'applications pour CodeDeploy
<a name="application-revisions"></a>

Dans CodeDeploy, une révision contient une version des fichiers source qui CodeDeploy sera déployée sur vos instances ou des scripts CodeDeploy qui s'exécuteront sur vos instances. 

Vous planifiez la révision, ajoutez un AppSpec fichier à la révision, puis vous transférez la révision vers Amazon S3 ou GitHub. Une fois la révision transmise en mode push, vous pouvez la déployer.

**Topics**
+ [Planifier une révision](application-revisions-plan.md)
+ [Ajouter un AppSpec fichier](application-revisions-appspec-file.md)
+ [Choisissez un type de référentiel](application-revisions-repository-type.md)
+ [Propulser une révision](application-revisions-push.md)
+ [Afficher les détails de révision de l'application](application-revisions-view-details.md)
+ [Enregistrer une révision d'application](application-revisions-register.md)

# Planifier une révision pour CodeDeploy
<a name="application-revisions-plan"></a>

Une bonne planification facilite grandement le déploiement des révisions.

Pour les déploiements sur une plateforme de calcul AWS Lambda ou Amazon ECS, une révision est identique AppSpec au fichier. Les informations suivantes ne s'appliquent pas. Pour plus d’informations, consultez [Ajouter un fichier de spécification d'application à une révision pour CodeDeploy](application-revisions-appspec-file.md). 

Pour les déploiements sur une plate-forme de calcul EC2 /On-Premises, commencez par créer un répertoire racine (dossier) vide sur la machine de développement. C'est là que vous stockerez les fichiers sources (tels que les fichiers texte et binaires, les fichiers exécutables, les packages, etc.) à déployer sur les instances ou les scripts à exécuter sur les instances.

Par exemple, dans le dossier `/tmp/` racine sous Linux, macOS ou Unix ou dans le dossier `c:\temp` racine sous Windows :

```
/tmp/ or c:\temp (root folder)
  |--content (subfolder)
  |    |--myTextFile.txt
  |    |--mySourceFile.rb
  |    |--myExecutableFile.exe
  |    |--myInstallerFile.msi
  |    |--myPackage.rpm
  |    |--myImageFile.png
  |--scripts (subfolder)
  |    |--myShellScript.sh
  |    |--myBatchScript.bat 
  |    |--myPowerShellScript.ps1 
  |--appspec.yml
```

Le dossier racine doit également inclure un fichier de spécification de l'application (AppSpec fichier), comme illustré ici. Pour de plus amples informations, veuillez consulter [Ajouter un fichier de spécification d'application à une révision pour CodeDeploy](application-revisions-appspec-file.md).

# Ajouter un fichier de spécification d'application à une révision pour CodeDeploy
<a name="application-revisions-appspec-file"></a>

Cette rubrique explique comment ajouter un AppSpec fichier à votre déploiement. Il inclut également des modèles permettant de créer un AppSpec fichier pour un déploiement AWS Lambda et EC2/on-premises.

**Topics**
+ [Ajouter un AppSpec fichier pour un déploiement Amazon ECS](#add-appspec-file-ecs)
+ [Ajouter un AppSpec fichier pour un déploiement AWS Lambda](#add-appspec-file-lambda)
+ [Ajouter un AppSpec fichier pour un déploiement EC2/sur site](#add-appspec-file-server)

## Ajouter un AppSpec fichier pour un déploiement Amazon ECS
<a name="add-appspec-file-ecs"></a>

Pour un déploiement sur une plateforme de calcul Amazon ECS :
+ Le AppSpec fichier indique la définition de tâche Amazon ECS utilisée pour le déploiement, le nom du conteneur et le mappage des ports utilisés pour acheminer le trafic, ainsi que les fonctions Lambda facultatives exécutées après les événements du cycle de vie du déploiement.
+ Une révision est identique à un AppSpec fichier.
+ Un AppSpec fichier peut être écrit en utilisant JSON ou YAML.
+ Un AppSpec fichier peut être enregistré sous forme de fichier texte ou saisi directement dans une console lorsque vous créez un déploiement. Pour de plus amples informations, veuillez consulter [Création d'un déploiement d'Amazon ECS Compute Platform (console)](deployments-create-console-ecs.md).

**Pour créer un AppSpec fichier**

1. Copiez le modèle JSON ou YAML dans un éditeur de texte ou dans l' AppSpec éditeur de la console.

1. Modifiez le modèle selon les besoins.

1. Utilisez un validateur JSON ou YAML pour valider votre AppSpec fichier. Si vous utilisez l' AppSpecéditeur, le fichier est validé lorsque vous choisissez **Créer un déploiement**.

1. Enregistrez le fichier si vous utilisez un éditeur de texte. Si vous utilisez le AWS CLI pour créer votre déploiement, référencez le AppSpec fichier s'il se trouve sur votre disque dur ou dans un compartiment Amazon S3. Si vous utilisez la console, vous devez transférer votre AppSpec fichier vers Amazon S3.

### Modèle de AppSpec fichier YAML pour un déploiement Amazon ECS avec instructions
<a name="app-spec-template-yaml-ecs"></a>

Ce qui suit est un modèle de AppSpec fichier YAML pour un déploiement Amazon ECS avec toutes les options disponibles. Pour plus d'informations sur les événements de cycle de vie à utiliser dans la section `hooks`, consultez [AppSpec section « hooks » pour un déploiement Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs).

```
# This is an appspec.yml template file for use with an Amazon ECS deployment in CodeDeploy.
# The lines in this template that start with the hashtag are 
#   comments that can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# In the Resources section, you must specify the following: the Amazon ECS service, task definition name, 
# and the name and port of the load balancer to route traffic,
# target version, and (optional) the current version of your AWS Lambda function. 
Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: "" # Specify the ARN of your task definition (arn:aws:ecs:region:account-id:task-definition/task-definition-family-name:task-definition-revision-number)
        LoadBalancerInfo: 
          ContainerName: "" # Specify the name of your Amazon ECS application's container
          ContainerPort: "" # Specify the port for your container where traffic reroutes 
# Optional properties
        PlatformVersion: "" # Specify the version of your Amazon ECS Service
        NetworkConfiguration:
          AwsvpcConfiguration:
            Subnets: ["",""] # Specify one or more comma-separated subnets in your Amazon ECS service
            SecurityGroups: ["",""] # Specify one or more comma-separated security groups in your Amazon ECS service
            AssignPublicIp: "" # Specify "ENABLED" or "DISABLED"             
# (Optional) In the Hooks section, specify a validation Lambda function to run during 
# a lifecycle event. 
Hooks:
# Hooks for Amazon ECS deployments are:
    - BeforeInstall: "" # Specify a Lambda function name or ARN
    - AfterInstall: "" # Specify a Lambda function name or ARN
    - AfterAllowTestTraffic: "" # Specify a Lambda function name or ARN
    - BeforeAllowTraffic: "" # Specify a Lambda function name or ARN
    - AfterAllowTraffic: "" # Specify a Lambda function name or ARN
```

### AppSpec Fichier JSON pour un modèle de déploiement Amazon ECS
<a name="app-spec-template-json-ecs"></a>

Ce qui suit est un modèle JSON pour un AppSpec fichier destiné à un déploiement Amazon ECS avec toutes les options disponibles. Pour obtenir des instructions sur les modèles, consultez les commentaires pour la version YAML dans la section précédente. Pour plus d'informations sur les événements de cycle de vie à utiliser dans la section `hooks`, consultez [AppSpec section « hooks » pour un déploiement Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs).

```
{
	"version": 0.0,
	"Resources": [
		{
			"TargetService": {
				"Type": "AWS::ECS::Service",
				"Properties": {
    			"TaskDefinition": "",
    			"LoadBalancerInfo": {
    				"ContainerName": "",
    				"ContainerPort":
    			},
    			"PlatformVersion": "",
    			"NetworkConfiguration": {
    				"AwsvpcConfiguration": {
    					"Subnets": [
    						"",
    						""
    					],
    					"SecurityGroups": [
    						"",
    						""
    					],
    					"AssignPublicIp": ""
    				}
    			}
  			}				
			}
		}
	],
	"Hooks": [
		{
			"BeforeInstall": ""
		},
		{
			"AfterInstall": ""
		},
		{
			"AfterAllowTestTraffic": ""
		},
		{
			"BeforeAllowTraffic": ""
		},
		{
			"AfterAllowTraffic": ""
		}
	]
}
```

## Ajouter un AppSpec fichier pour un déploiement AWS Lambda
<a name="add-appspec-file-lambda"></a>

Pour un déploiement sur une plateforme de calcul AWS Lambda :
+ Le AppSpec fichier contient des instructions sur les fonctions Lambda à déployer et à utiliser pour la validation du déploiement.
+ Une révision est identique à un AppSpec fichier.
+ Un AppSpec fichier peut être écrit en utilisant JSON ou YAML.
+ Un AppSpec fichier peut être enregistré sous forme de fichier texte ou saisi directement dans un AppSpec éditeur de console lors de la création d'un déploiement. Pour de plus amples informations, veuillez consulter [Création d'un déploiement de plateforme de calcul AWS Lambda (console)](deployments-create-console-lambda.md).

Pour créer un AppSpec fichier :

1. Copiez le modèle JSON ou YAML dans un éditeur de texte ou dans l' AppSpec éditeur de la console.

1. Modifiez le modèle selon les besoins.

1. Utilisez un validateur JSON ou YAML pour valider votre AppSpec fichier. Si vous utilisez l' AppSpecéditeur, le fichier est validé lorsque vous choisissez **Créer un déploiement**.

1. Enregistrez le fichier si vous utilisez un éditeur de texte. Si vous utilisez le AWS CLI pour créer votre déploiement, référencez le AppSpec fichier s'il se trouve sur votre disque dur ou dans un compartiment Amazon S3. Si vous utilisez la console, vous devez transférer votre AppSpec fichier vers Amazon S3.



### Modèle de AppSpec fichier YAML pour un AWS Lambda déploiement avec instructions
<a name="app-spec-template-yaml-lambda"></a>

Pour plus d'informations sur les événements de cycle de vie à utiliser dans la section hooks, consultez [AppSpec section « hooks » pour un déploiement AWS Lambda](reference-appspec-file-structure-hooks.md#appspec-hooks-lambda).

```
# This is an appspec.yml template file for use with an AWS Lambda deployment in CodeDeploy.
# The lines in this template starting with the hashtag symbol are 
#   instructional comments and can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# In the Resources section specify the name, alias, 
# target version, and (optional) the current version of your AWS Lambda function. 
Resources:
  - MyFunction: # Replace "MyFunction" with the name of your Lambda function 
      Type: AWS::Lambda::Function
      Properties:
        Name: "" # Specify the name of your Lambda function
        Alias: "" # Specify the alias for your Lambda function
        CurrentVersion: "" # Specify the current version of your Lambda function
        TargetVersion: "" # Specify the version of your Lambda function to deploy
# (Optional) In the Hooks section, specify a validation Lambda function to run during 
# a lifecycle event. Replace "LifeCycleEvent" with BeforeAllowTraffic
# or AfterAllowTraffic. 
Hooks:
    - LifeCycleEvent: "" # Specify a Lambda validation function between double-quotes.
```

### AppSpec Fichier JSON pour un modèle AWS Lambda de déploiement
<a name="app-spec-template-json-lambda"></a>

Dans le modèle suivant, remplacez « MyFunction » par le nom de votre AWS Lambda fonction. Dans la section Hooks facultative, remplacez les événements du cycle de vie par BeforeAllowTraffic ou AfterAllowTraffic.

Pour plus d'informations sur les événements de cycle de vie à utiliser dans la section Hooks, consultez [AppSpec section « hooks » pour un déploiement AWS Lambda](reference-appspec-file-structure-hooks.md#appspec-hooks-lambda).

```
{
 	"version": 0.0,
 	"Resources": [{
 		"MyFunction": {
 			"Type": "AWS::Lambda::Function",
 			"Properties": {
 				"Name": "",
 				"Alias": "",
 				"CurrentVersion": "",
 				"TargetVersion": ""
 			}
 		}
 	}],
 	"Hooks": [{
 			"LifeCycleEvent": ""
 		}
 	]
 }
```

## Ajouter un AppSpec fichier pour un déploiement EC2/sur site
<a name="add-appspec-file-server"></a>

Sans AppSpec fichier, vous CodeDeploy ne pouvez pas mapper les fichiers source de la révision de votre application à leurs destinations ou exécuter des scripts pour votre déploiement sur une plate-forme de calcul EC2/sur site.

Chaque révision ne doit contenir qu'un seul AppSpec fichier. 

Pour ajouter un AppSpec fichier à une révision :

1. Copiez le modèle dans un éditeur de texte.

1. Modifiez le modèle selon les besoins.

1. Utilisez un validateur YAML pour vérifier la validité de votre AppSpec fichier. 

1. Enregistrez le fichier sous le nom `appspec.yml` dans le répertoire racine de la révision.

1. Exécutez l'une des commandes suivantes pour vérifier que vous avez bien placé votre AppSpec fichier dans le répertoire racine :
   + Pour Linux, macOS ou Unix :

     ```
     find /path/to/root/directory -name appspec.yml
     ```

     Il n'y aura aucune sortie si le AppSpec fichier n'y est pas trouvé.
   + Pour Windows :

     ```
     dir path\to\root\directory\appspec.yml
     ```

     Un message d'erreur **Fichier introuvable** s'affichera si le AppSpec fichier n'y est pas stocké.

1. Transférez la révision vers Amazon S3 ou GitHub. 

   Pour obtenir des instructions, veuillez consulter [Transférer une révision CodeDeploy pour Amazon S3 (déploiements EC2/sur site uniquement)](application-revisions-push.md).

### AppSpec modèle de fichier pour un déploiement EC2/sur site avec instructions
<a name="app-spec-template-server"></a>

**Note**  
 Les déploiements sur des instances Windows Server ne prennent pas en charge `runas` cet élément. Si vous effectuez un déploiement sur des instances Windows Server, ne l'incluez pas dans votre AppSpec fichier. 

```
# This is an appspec.yml template file for use with an EC2/On-Premises deployment in CodeDeploy.
# The lines in this template starting with the hashtag symbol are 
#   instructional comments and can be safely left in the file or 
#   ignored.
# For help completing this file, see the "AppSpec File Reference" in the  
#   "CodeDeploy User Guide" at
#   https://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html
version: 0.0
# Specify "os: linux" if this revision targets Amazon Linux, 
#   Red Hat Enterprise Linux (RHEL), or Ubuntu Server  
#   instances.
# Specify "os: windows" if this revision targets Windows Server instances.
# (You cannot specify both "os: linux" and "os: windows".)
os: linux 
# os: windows
# During the Install deployment lifecycle event (which occurs between the 
#   BeforeInstall and AfterInstall events), copy the specified files 
#   in "source" starting from the root of the revision's file bundle 
#   to "destination" on the Amazon EC2 instance.
# Specify multiple "source" and "destination" pairs if you want to copy 
#   from multiple sources or to multiple destinations.
# If you are not copying any files to the Amazon EC2 instance, then remove the
#   "files" section altogether. A blank or incomplete "files" section
#   may cause associated deployments to fail.
files:
  - source: 
    destination:
  - source:
    destination:
# For deployments to Amazon Linux, Ubuntu Server, or RHEL instances,
#   you can specify a "permissions" 
#   section here that describes special permissions to apply to the files 
#   in the "files" section as they are being copied over to 
#   the Amazon EC2 instance.
#   For more information, see the documentation.
# If you are deploying to Windows Server instances,
#   then remove the 
#   "permissions" section altogether. A blank or incomplete "permissions"
#   section may cause associated deployments to fail.
permissions:
  - object:
    pattern:
    except:
    owner:
    group:
    mode: 
    acls:
      -
    context:
      user:
      type:
      range:
    type:
      -
# If you are not running any commands on the Amazon EC2 instance, then remove 
#   the "hooks" section altogether. A blank or incomplete "hooks" section
#   may cause associated deployments to fail.
hooks:
# For each deployment lifecycle event, specify multiple "location" entries 
#   if you want to run multiple scripts during that event.
# You can specify "timeout" as the number of seconds to wait until failing the deployment 
#   if the specified scripts do not run within the specified time limit for the 
#   specified event. For example, 900 seconds is 15 minutes. If not specified, 
#   the default is 1800 seconds (30 minutes).
#   Note that the maximum amount of time that all scripts must finish executing 
#   for each individual deployment lifecycle event is 3600 seconds (1 hour). 
#   Otherwise, the deployment will stop and CodeDeploy will consider the deployment
#   to have failed to the Amazon EC2 instance. Make sure that the total number of seconds 
#   that are specified in "timeout" for all scripts in each individual deployment 
#   lifecycle event does not exceed a combined 3600 seconds (1 hour).
# For deployments to Amazon Linux, Ubuntu Server, or RHEL instances,
#   you can specify "runas" in an event to
#   run as the specified user. For more information, see the documentation.
#   If you are deploying to Windows Server instances,
#   remove "runas" altogether.
# If you do not want to run any commands during a particular deployment
#   lifecycle event, remove that event declaration altogether. Blank or 
#   incomplete event declarations may cause associated deployments to fail.
# During the ApplicationStop deployment lifecycle event, run the commands 
#   in the script specified in "location" starting from the root of the 
#   revision's file bundle.
  ApplicationStop:
    - location: 
      timeout:
      runas:
    - location: 
      timeout:
      runas: 
# During the BeforeInstall deployment lifecycle event, run the commands 
#   in the script specified in "location".
  BeforeInstall:
    - location: 
      timeout:
      runas: 
    - location: 
      timeout:
      runas:
# During the AfterInstall deployment lifecycle event, run the commands 
#   in the script specified in "location".
  AfterInstall:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
# During the ApplicationStart deployment lifecycle event, run the commands 
#   in the script specified in "location".
  ApplicationStart:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
# During the ValidateService deployment lifecycle event, run the commands 
#   in the script specified in "location".
  ValidateService:
    - location:     
      timeout: 
      runas:
    - location: 
      timeout:
      runas:
```

# Choisissez un type de CodeDeploy référentiel
<a name="application-revisions-repository-type"></a>

L'emplacement de stockage des fichiers requis par CodeDeploy est appelé *référentiel*. L'utilisation d'un référentiel dépend de la plate-forme informatique utilisée par votre déploiement.
+ **EC2/On-Premises** : pour déployer le code de votre application sur une ou plusieurs instances, votre code doit être regroupé dans un fichier d'archive et placé dans un référentiel auquel CodeDeploy vous pouvez accéder pendant le processus de déploiement. Vous regroupez votre contenu déployable et un AppSpec fichier dans un fichier d'archive, puis vous le chargez dans l'un des types de référentiels pris en charge par CodeDeploy.
+ **AWS Lambda** et **Amazon ECS : les** déploiements nécessitent un AppSpec fichier auquel il est possible d'accéder au cours d'un déploiement de l'une des manières suivantes : 
  +  À partir d'un compartiment Amazon S3. 
  +  À partir du texte saisi directement dans l' AppSpec éditeur de la console. Pour plus d’informations, consultez [Création d'un déploiement de plateforme de calcul AWS Lambda (console)](deployments-create-console-lambda.md) et [Création d'un déploiement d'Amazon ECS Compute Platform (console)](deployments-create-console-ecs.md). 
  +  Si vous utilisez le AWS CLI, vous pouvez référencer un AppSpec fichier qui se trouve sur votre disque dur ou sur un lecteur réseau. Pour plus d’informations, consultez [Création d'un déploiement de plateforme de calcul AWS Lambda (CLI)](deployments-create-lambda-cli.md) et [Création d'un déploiement de plate-forme de calcul Amazon ECS (CLI)](deployments-create-ecs-cli.md). 

CodeDeploy prend actuellement en charge les types de référentiels suivants : 


|  |  |  | 
| --- |--- |--- |
| Type de référentiel | Détails de référentiel | Plate-forme de calcul prise en charge | 
| Amazon S3 | [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) (Amazon S3) est la AWS solution pour le stockage d'objets sécurisé et évolutif. Amazon S3 stocke les données sous forme d'objets dans des compartiments. Un objet se compose d'un fichier et, éventuellement, de métadonnées décrivant ce fichier. Pour stocker un objet dans Amazon S3, vous devez charger le fichier dans un compartiment. Lorsque vous chargez un fichier, vous pouvez définir des autorisations et des métadonnées sur cet objet. En savoir plus : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/application-revisions-repository-type.html) | Les déploiements qui utilisent les plateformes de calcul suivantes peuvent stocker la révision dans un compartiment Amazon S3.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/application-revisions-repository-type.html) | 
| GitHub | Vous pouvez stocker les révisions de votre application dans des [GitHub](http://www.github.com)référentiels. Vous pouvez déclencher un déploiement à partir d'un GitHub référentiel chaque fois que le code source de ce référentiel est modifié.En savoir plus :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/application-revisions-repository-type.html) | Seuls les EC2 déploiements /On-Premises peuvent stocker la révision dans un référentiel. GitHub  | 
| Bitbucket |  Vous pouvez déployer du code sur des groupes d' EC2 instances de déploiement en utilisant le [CodeDeploy canal dans [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines)](https://bitbucket.org/product/features/pipelines/integrations?p=atlassian/aws-code-deploy). Bitbucket Pipelines offre des fonctionnalités d'intégration et de déploiement en continu (CI/CD), y compris des [déploiements Bitbucket](https://confluence.atlassian.com/bitbucket/bitbucket-deployments-940695276.html). Le CodeDeploy canal envoie d'abord l'artefact vers un compartiment S3 que vous avez spécifié, puis déploie l'artefact de code depuis le compartiment. En savoir plus :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/application-revisions-repository-type.html)  | Seuls les EC2 déploiements /On-Premises peuvent stocker la révision dans un référentiel. BitBucket  | 

**Note**  
Un AWS Lambda déploiement fonctionne uniquement avec un référentiel Amazon S3.

# Transférer une révision CodeDeploy pour Amazon S3 (déploiements EC2/sur site uniquement)
<a name="application-revisions-push"></a>

Après avoir planifié votre révision comme décrit dans [Planifier une révision pour CodeDeploy](application-revisions-plan.md) et ajouté un AppSpec fichier à la révision comme décrit dans[Ajouter un fichier de spécification d'application à une révision pour CodeDeploy](application-revisions-appspec-file.md), vous êtes prêt à regrouper les fichiers des composants et à transférer la révision vers Amazon S3. Pour les déploiements sur des instances Amazon EC2, une fois que vous avez envoyé la révision, vous pouvez CodeDeploy l'utiliser pour déployer la révision depuis Amazon S3 vers les instances.

**Note**  
CodeDeploy peut également être utilisé pour déployer des révisions qui ont été transférées vers GitHub. Pour plus d'informations, consultez votre GitHub documentation.

Nous supposons que vous avez déjà suivi les instructions de la rubrique [Commencer avec CodeDeploy](getting-started-codedeploy.md) pour configurer l'interface AWS CLI. Cela est particulièrement important pour l'appel de la commande **push** décrite plus tard.

Assurez-vous de disposer d'un compartiment Amazon S3. Suivez les instructions de la [section Créer un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

Si votre déploiement concerne des instances Amazon EC2, le compartiment Amazon S3 cible doit être créé ou exister dans la même région que les instances cibles. Par exemple, si vous souhaitez déployer une révision sur certaines instances de la région USA Est (Virginie du Nord) et sur d'autres instances de la région USA Ouest (Oregon), vous devez avoir un bucket dans la région USA Est (Virginie du Nord) avec une copie de la révision et un autre bucket dans la région USA Ouest (Oregon) avec une autre copie de la même révision. Dans ce scénario, vous devrez ensuite créer deux déploiements distincts, l'un dans la région USA Est (Virginie du Nord) et l'autre dans la région USA Ouest (Oregon), même si la révision est la même dans les deux régions et dans les compartiments.

Vous devez disposer des autorisations nécessaires pour effectuer le téléchargement dans le compartiment Amazon S3. Vous pouvez spécifier ces autorisations par le biais d'une politique de compartiment Amazon S3. Par exemple, dans la politique de compartiment Amazon S3 suivante, l'utilisation du caractère générique (\$1) permet `111122223333` au AWS compte de télécharger des fichiers dans n'importe quel répertoire du compartiment Amazon S3 nommé `amzn-s3-demo-bucket` :

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

Pour consulter l'identifiant de votre AWS compte, consultez la section [Trouver votre identifiant de AWS compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId).

Pour savoir comment générer et associer une politique de compartiment Amazon S3, consultez les [exemples de politique de compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

L'utilisateur qui appelle la **push** commande doit disposer, au minimum, des autorisations nécessaires pour télécharger la révision dans chaque compartiment Amazon S3 cible. Par exemple, la politique suivante permet à l'utilisateur de télécharger des révisions n'importe où dans le compartiment Amazon S3 nommé `amzn-s3-demo-bucket` :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Pour savoir comment créer et associer une stratégie IAM, consultez la section [Utilisation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html#AddingPermissions_Console).

## Envoyez une révision à l'aide du AWS CLI
<a name="push-with-cli"></a>

**Note**  
 La `push` commande regroupe les artefacts de l'application et un AppSpec fichier dans une révision. Le format de fichier de cette révision est compressé dans un fichier ZIP. La commande ne peut pas être utilisée avec un déploiement AWS Lambda ou Amazon ECS car chacun attend une révision sous forme de fichier au format JSON ou YAML. AppSpec 

Appelez la commande **push** pour grouper et transmettre la révision en mode push pour un déploiement. Ses paramètres sont les suivants :
+  **--application-name** : (chaîne) obligatoire. Nom de l'application CodeDeploy à associer à cette révision d'application. 
+  **--s3-location** : (chaîne) obligatoire. Informations sur l'emplacement de la révision de l'application à télécharger sur Amazon S3. Vous devez spécifier un compartiment Amazon S3 et une clé. La clé est le nom de la révision. CodeDeploy compresse le contenu avant son téléchargement. Utilisez le format `s3://amzn-s3-demo-bucket/your-key.zip`. 
+  **--ignore-hidden-files** ou **--no-ignore-hidden-files** : (booléen) facultatif. Utilisez l'`--no-ignore-hidden-files`indicateur (par défaut) pour regrouper et télécharger des fichiers cachés sur Amazon S3. Utilisez l'`--ignore-hidden-files`indicateur pour ne pas regrouper et télécharger des fichiers cachés sur Amazon S3. 
+  **--source** (chaîne) facultatif. Emplacement du contenu à déployer et du AppSpec fichier sur la machine de développement à compresser et à télécharger sur Amazon S3. L'emplacement est spécifié en tant que chemin d'accès relatif par rapport au répertoire actuel. Si le chemin d'accès relatif n'est pas spécifié ou si un seul point est utilisé pour le chemin (« . »), le répertoire actuel est utilisé. 
+  **--description** (chaîne) facultatif. Commentaire qui résume la révision d'application. Si elle n'est pas spécifiée, la chaîne par défaut « Uploaded by AWS CLI 'time' UTC » est utilisée, où « time » est l'heure actuelle du système en temps universel coordonné (UTC). 

Vous pouvez utiliser le AWS CLI pour envoyer une révision pour un déploiement Amazon EC2. Un exemple de commande push se présente sous la forme suivante : 

Sous Linux, macOS ou Unix :

```
aws deploy push \
  --application-name WordPress_App \
  --description "This is a revision for the application WordPress_App" \
  --ignore-hidden-files \
  --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \
  --source .
```

 Dans Windows : 

```
aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip --source .
```

 Cette commande exécute les opérations suivantes : 
+  Elle associe les fichiers groupés à une application nommée `WordPress_App`. 
+  Elle attache une description à la révision. 
+  Elle ignore les fichiers masqués. 
+  Elle attribue un nom à la révision `WordPressApp.zip` et transmet celle-ci en mode push à un compartiment nommé `amzn-s3-demo-bucket`. 
+  Elle groupe tous les fichiers dans le répertoire racine dans la révision. 

Une fois le push réussi, vous pouvez utiliser la console AWS CLI ou la CodeDeploy console pour déployer la révision depuis Amazon S3. Pour déployer cette révision avec AWS CLI : 

 Sous Linux, macOS ou Unix : 

```
aws deploy create-deployment \
  --application-name WordPress_App \ 
  --deployment-config-name your-deployment-config-name \ 
  --deployment-group-name your-deployment-group-name \ 
  --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 Dans Windows : 

```
aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 Pour de plus amples informations, veuillez consulter [Créez un déploiement avec CodeDeploy](deployments-create.md). 

# Consultez les détails de révision de l'application avec CodeDeploy
<a name="application-revisions-view-details"></a>

Vous pouvez utiliser la CodeDeploy console AWS CLI, le ou le CodeDeploy APIs pour afficher les détails de toutes les révisions d'applications enregistrées sur votre AWS compte pour une application spécifique.

Pour plus d'informations sur l'inscription d'une révision, consultez la rubrique [Enregistrez une révision d'application dans Amazon S3 avec CodeDeploy](application-revisions-register.md).

**Topics**
+ [Afficher les détails de révision de l'application (console)](#application-revisions-view-details-console)
+ [Afficher les détails de révision de l'application (CLI)](#application-revisions-view-details-cli)

## Afficher les détails de révision de l'application (console)
<a name="application-revisions-view-details-console"></a>

Pour afficher les détails de révision d'application :

1. Connectez-vous à la CodeDeploy console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/codedeploy.](https://console.aws.amazon.com/codedeploy)
**Note**  
Connectez-vous avec le même utilisateur que celui que vous avez configuré[Commencer avec CodeDeploy](getting-started-codedeploy.md).

1. Dans le volet de navigation, développez **Déployer**, puis choisissez **Applications**.
**Note**  
Si aucune entrée n'est affichée, assurez-vous que la bonne région est sélectionnée. Dans la barre de navigation, dans le sélecteur de région, choisissez l'une des régions répertoriées dans [Région et Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region) dans le. *Références générales AWS* CodeDeploy n'est pris en charge que dans ces régions.

1. Choisissez le nom de l'application qui la révision que vous souhaitez afficher.

1. Sur la page **Détails de l'application**, choisissez l'onglet **Révisions** et passez en revue la liste des révisions qui sont inscrites pour l'application. Choisissez une révision, puis choisissez **Afficher les détails**.

## Afficher les détails de révision de l'application (CLI)
<a name="application-revisions-view-details-cli"></a>

 AWS CLI Pour afficher la révision d'une application, appelez la ****get-application-revision****commande ou la ****list-application-revisions****commande.

**Note**  
 Les références GitHub s'appliquent uniquement aux déploiements vers des déploiements EC2/sur site. Les révisions pour les AWS Lambda déploiements ne fonctionnent pas avec GitHub. 

Pour afficher des détails sur une révision d'application donnée, appelez la commande [get-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-application-revision.html), en spécifiant : 
+ Le nom de l'application. Pour obtenir le nom de l'application, appelez la commande [list-applications.](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html)
+ Pour une révision stockée dans GitHub, le nom du GitHub référentiel et l'ID du commit qui fait référence à la révision de l'application qui a été transférée vers le référentiel.
+ Pour une révision stockée dans Amazon S3, le nom du compartiment Amazon S3 contenant la révision ; le nom et le type de fichier du fichier d'archive chargé ; et, éventuellement, l'identifiant de version Amazon S3 du fichier d'archive et ETag. Si l'identifiant de version ETag, ou les deux, ont été spécifiés lors d'un appel à [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html), ils doivent être spécifiés ici.

Pour afficher des détails sur plusieurs révisions d'application, appelez la commande [list-application-revisions](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-application-revisions.html), en spécifiant :
+ Le nom de l'application. Pour obtenir le nom de l'application, appelez la commande [list-applications.](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html)
+ Facultativement, pour afficher les détails des révisions des applications Amazon S3 uniquement, le nom du compartiment Amazon S3 contenant les révisions.
+ Facultativement, pour afficher les détails des révisions des applications Amazon S3 uniquement, une chaîne de préfixe pour limiter la recherche aux révisions des applications Amazon S3. (Si ce n'est pas spécifié, CodeDeploy répertoriera toutes les révisions correspondantes de l'application Amazon S3.)
+ Eventuellement, s'il convient de répertorier les détails de révision selon que chaque révision est la révision cible d'un groupe de déploiement. (Si ce n'est pas spécifié, CodeDeploy listera toutes les révisions correspondantes.)
+ Eventuellement, le nom de colonne et l'ordre selon lesquels il convient de trier la liste des détails de révision. (Si ce n'est pas spécifié, les résultats CodeDeploy seront listés dans un ordre arbitraire.)

Vous pouvez répertorier toutes les révisions ou uniquement les révisions stockées dans Amazon S3. Vous ne pouvez pas répertorier uniquement les révisions stockées dans GitHub.

# Enregistrez une révision d'application dans Amazon S3 avec CodeDeploy
<a name="application-revisions-register"></a>

Si vous avez déjà appelé la commande [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) pour transférer une révision d'application vers Amazon S3, vous n'avez pas besoin d'enregistrer la révision. Toutefois, si vous chargez une révision sur Amazon S3 par un autre moyen et que vous souhaitez qu'elle apparaisse dans la CodeDeploy console ou via le AWS CLI, suivez ces étapes pour enregistrer d'abord la révision.

Si vous avez transféré une révision d'application vers un GitHub référentiel et que vous souhaitez qu'elle apparaisse dans la CodeDeploy console ou via le AWS CLI, vous devez également suivre ces étapes.

Vous pouvez uniquement utiliser le AWS CLI ou CodeDeploy APIs pour enregistrer les révisions d'applications dans Amazon S3 ou GitHub.

**Topics**
+ [Enregistrez une révision dans Amazon S3 avec CodeDeploy (CLI)](#application-revisions-register-s3)
+ [Enregistrer une révision GitHub avec CodeDeploy (CLI)](#application-revisions-register-github)

## Enregistrez une révision dans Amazon S3 avec CodeDeploy (CLI)
<a name="application-revisions-register-s3"></a>

1. Téléchargez la révision sur Amazon S3.

1. Appelez la commande [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html), en spécifiant les éléments suivants :
   + Le nom de l'application. Pour afficher la liste des noms d'applications, appelez la commande [list-applications.](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html)
   + Des informations sur la révision à inscrire :
     + Nom du compartiment Amazon S3 qui contient la révision.
     + Le nom et le type de fichier de la révision chargée. Pour les AWS Lambda déploiements, la révision est un AppSpec fichier écrit en JSON ou YAML. Pour les déploiements EC2/sur site, la révision contient une version des fichiers source qui CodeDeploy sera déployée sur vos instances ou des scripts qui s' CodeDeploy exécuteront sur vos instances.
**Note**  
Les formats de fichier d'archive tar et tar compressé (.tar et .tar.gz) ne sont pas pris en charge pour les instances Windows Server.
     + (Facultatif) L'identifiant de version Amazon S3 de la révision. (Si l'identifiant de version n'est pas spécifié, CodeDeploy nous utiliserons la version la plus récente.)
     + (Facultatif) La révision ETag. (Si le n' ETag est pas spécifié, la validation de l'objet CodeDeploy sera ignorée.)
   + (Facultatif) Toute description que vous souhaitez associer à la révision.

Les informations relatives à une révision dans Amazon S3 peuvent être spécifiées sur la ligne de commande, en utilisant cette syntaxe dans le cadre de l'**register-application-revision**appel. (`version`et `eTag` sont facultatifs.)

Pour un fichier de révision pour un déploiement EC2/sur site :

```
--s3-location bucket=string,key=string,bundleType=tar|tgz|zip,version=string,eTag=string
```

Pour un fichier de révision pour un déploiement AWS Lambda :

```
--s3-location bucket=string,key=string,bundleType=JSON|YAML,version=string,eTag=string
```

## Enregistrer une révision GitHub avec CodeDeploy (CLI)
<a name="application-revisions-register-github"></a>

**Note**  
AWS Lambda les déploiements ne fonctionnent pas avec GitHub. 

1. Téléchargez la révision dans votre GitHub dépôt.

1. Appelez la commande [register-application-revision](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-application-revision.html), en spécifiant les éléments suivants :
   + Le nom de l'application. Pour afficher la liste des noms d'applications, appelez la commande [list-applications.](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html)
   + Des informations sur la révision à inscrire :
     + Le nom GitHub d'utilisateur ou de groupe attribué au référentiel contenant la révision, suivi d'une barre oblique (`/`), puis du nom du référentiel.
     + L'ID de la validation qui fait référence à la révision dans le référentiel.
   + (Facultatif) Toute description que vous souhaitez associer à la révision.

Les informations relatives à une révision GitHub peuvent être spécifiées sur la ligne de commande, en utilisant cette syntaxe dans le cadre de l'**register-application-revision**appel :

```
--github-location repository=string,commitId=string
```