

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.

# Étape 2 : Création d'un exemple de révision d'application
<a name="tutorials-on-premises-instance-2-create-sample-revision"></a>

Dans cette étape, vous créez un exemple de révision d'application à déployer sur votre instance sur site. 

Comme il est difficile de savoir quels logiciels et quelles fonctionnalités sont déjà installés (ou autorisés à être installés conformément aux politiques de votre organisation) sur votre instance locale, l'exemple de révision d'application que nous proposons ici utilise simplement des scripts batch (pour Windows Server) ou des scripts shell (pour Ubuntu Server et RHEL) pour écrire des fichiers texte sur un emplacement de votre instance locale. Un fichier est écrit pour chacun des événements du cycle de vie du CodeDeploy déploiement, notamment **Install **AfterInstall****, **ApplicationStart**, et **ValidateService**. Au cours de l'événement relatif au cycle de vie du **BeforeInstall**déploiement, un script sera exécuté pour supprimer les anciens fichiers écrits lors des déploiements précédents de cet exemple et créer un emplacement sur votre instance locale où écrire les nouveaux fichiers. 

**Note**  
Cet exemple de révision d'application peut ne pas être déployé si l'une des affirmations suivantes est vraie :  
L'utilisateur qui démarre l' CodeDeploy agent sur l'instance locale n'est pas autorisé à exécuter des scripts.
L'utilisateur n'est pas autorisé à créer ou à supprimer des dossiers dans les emplacements répertoriés dans les scripts.
L'utilisateur n'est pas autorisé à créer des fichiers texte dans les emplacements répertoriés dans les scripts.

**Note**  
Si vous avez configuré une instance Windows Server et que vous souhaitez déployer un autre exemple, vous pouvez utiliser celui présenté [Étape 2 : configurer votre contenu source à déployer sur l'instance Amazon EC2 de Windows Server](tutorials-windows-configure-content.md) dans le [Tutoriel : Déployez un message « Bonjour tout le monde \$1 » application avec CodeDeploy (Windows Server)](tutorials-windows.md) didacticiel.  
Si vous avez configuré une instance RHEL et que vous souhaitez déployer un autre exemple, vous pouvez utiliser celui présenté [Étape 2 : configurer votre contenu source à déployer sur l'instance Amazon EC2 Amazon Linux ou Red Hat Enterprise Linux](tutorials-wordpress-configure-content.md) dans le [Tutoriel : Déploiement WordPress sur une instance Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux et Linux, macOS ou Unix)](tutorials-wordpress.md) didacticiel.  
Il n'existe actuellement aucun autre exemple pour Ubuntu Server.

1. Sur votre machine de développement, créez un sous-répertoire (sous-dossier) nommé `CodeDeployDemo-OnPrem`, qui stockera les exemples de fichiers de révision d'application, puis basculez vers ce sous-dossier. Pour cet exemple, nous supposons que vous utiliserez le `c:\temp` dossier comme dossier racine pour Windows Server ou le `/tmp` dossier comme dossier racine pour Ubuntu Server et RHEL. Si vous utilisez un autre dossier, veillez à le substituer aux nôtres tout au long de ce didacticiel : 

   Pour Windows :

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem
   cd c:\temp\CodeDeployDemo-OnPrem
   ```

   Pour Linux, macOS ou Unix :

   ```
   mkdir /tmp/CodeDeployDemo-OnPrem
   cd /tmp/CodeDeployDemo-OnPrem
   ```

1. A la racine du sous-dossier `CodeDeployDemo-OnPrem`, utilisez un éditeur de texte pour créer deux fichiers nommés `appspec.yml` et `install.txt` :

   `appspec.yml`pour Windows Server :

   ```
   version: 0.0
   os: windows
   files:
     - source: .\install.txt
       destination: c:\temp\CodeDeployExample
   hooks:
     BeforeInstall:
       - location: .\scripts\before-install.bat
         timeout: 900
     AfterInstall:
       - location: .\scripts\after-install.bat     
         timeout: 900
     ApplicationStart:
       - location: .\scripts\application-start.bat  
         timeout: 900
     ValidateService:
       - location: .\scripts\validate-service.bat    
         timeout: 900
   ```

   `appspec.yml`pour Ubuntu Server et RHEL :

   ```
   version: 0.0
   os: linux
   files:
     - source: ./install.txt
       destination: /tmp/CodeDeployExample
   hooks:
     BeforeInstall:
       - location: ./scripts/before-install.sh
         timeout: 900
     AfterInstall:
       - location: ./scripts/after-install.sh
         timeout: 900
     ApplicationStart:
       - location: ./scripts/application-start.sh
         timeout: 900
     ValidateService:
       - location: ./scripts/validate-service.sh
         timeout: 900
   ```

   Pour plus d'informations sur AppSpec les fichiers, reportez-vous [Ajouter un fichier de spécification d'application à une révision pour CodeDeploy](application-revisions-appspec-file.md) aux sections et[CodeDeploy AppSpec référence de fichier](reference-appspec-file.md).

   `install.txt`:

   ```
   The Install deployment lifecycle event successfully completed.
   ```

1. À la racine du sous-dossier `CodeDeployDemo-OnPrem`, créez un sous-dossier `scripts`, puis accédez-y :

   Pour Windows :

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem\scripts
   cd c:\temp\CodeDeployDemo-OnPrem\scripts
   ```

   Pour Linux, macOS ou Unix :

   ```
   mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts
   cd /tmp/CodeDeployDemo-OnPrem/scripts
   ```

1. À la racine du `scripts` sous-dossier, utilisez un éditeur de texte pour créer quatre fichiers nommés`before-install.bat`, `after-install.bat``application-start.bat`, et `validate-service.bat` pour Windows Server, ou, `before-install.sh` `after-install.sh``application-start.sh`, et `validate-service.sh` pour Ubuntu Server et RHEL :

   Pour Windows Server :

   `before-install.bat`:

   ```
   set FOLDER=%HOMEDRIVE%\temp\CodeDeployExample
   
   if exist %FOLDER% (
     rd /s /q "%FOLDER%"
   )
   
   mkdir %FOLDER%
   ```

   `after-install.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The AfterInstall deployment lifecycle event successfully completed. > after-install.txt
   ```

   `application-start.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ApplicationStart deployment lifecycle event successfully completed. > application-start.txt
   ```

   `validate-service.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ValidateService deployment lifecycle event successfully completed. > validate-service.txt
   ```

   Pour Ubuntu Server et RHEL :

   `before-install.sh`:

   ```
   #!/bin/bash
   export FOLDER=/tmp/CodeDeployExample
   
   if [ -d $FOLDER ]
   then
    rm -rf $FOLDER
   fi
   
   mkdir -p $FOLDER
   ```

   `after-install.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The AfterInstall deployment lifecycle event successfully completed." > after-install.txt
   ```

   `application-start.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ApplicationStart deployment lifecycle event successfully completed." > application-start.txt
   ```

   `validate-service.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ValidateService deployment lifecycle event successfully completed." > validate-service.txt
   
   unset FOLDER
   ```

1. Pour Ubuntu Server et RHEL uniquement, assurez-vous que les quatre scripts shell disposent des autorisations d'exécution :

   ```
   chmod +x ./scripts/*
   ```