Étape 2 : Création d'un exemple de révision d'application - AWS CodeDeploy

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

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 BeforeInstalldé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 dans le Tutoriel : Déployez un message « Bonjour tout le monde ! » application avec CodeDeploy (Windows Server) didacticiel.

Si vous avez configuré une instance RHEL et 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 dans le Tutoriel : Déploiement WordPress sur une instance Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux et Linux, macOS ou Unix) 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
  2. 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.ymlpour 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.ymlpour 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 aux sections etCodeDeploy AppSpec référence de fichier.

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. À 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
  4. À la racine du scripts sous-dossier, utilisez un éditeur de texte pour créer quatre fichiers nommésbefore-install.bat, after-install.batapplication-start.bat, et validate-service.bat pour Windows Server, ou, before-install.sh after-install.shapplication-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
  5. Pour Ubuntu Server et RHEL uniquement, assurez-vous que les quatre scripts shell disposent des autorisations d'exécution :

    chmod +x ./scripts/*