Passaggio 2: creare una revisione di esempio dell'applicazione - AWS CodeDeploy

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Passaggio 2: creare una revisione di esempio dell'applicazione

Questa fase prevede la creazione di una revisione di applicazione esemplificativa da distribuire sull'istanza locale.

Poiché è difficile sapere quali software e funzionalità sono già installati, o quali sono autorizzati dalle politiche dell'organizzazione, sull'istanza locale, la revisione di esempio dell'applicazione che offriamo qui utilizza semplicemente script batch (per Windows Server) o script di shell (per Ubuntu Server e RHEL) per scrivere file di testo in una posizione sull'istanza locale. Viene scritto un file per ciascuno dei diversi eventi del ciclo di vita della CodeDeploy distribuzione, tra cui Install AfterInstall, ApplicationStart, e ValidateService. Durante l'evento del ciclo di vita della BeforeInstalldistribuzione, verrà eseguito uno script per rimuovere i vecchi file scritti durante le distribuzioni precedenti di questo esempio e creare una posizione sull'istanza locale in cui scrivere i nuovi file.

Nota

La distribuzione di questa revisione di applicazione esemplificativa potrebbe non riuscire in presenza di una delle condizioni seguenti:

  • L'utente che avvia l' CodeDeploy agente sull'istanza locale non dispone dell'autorizzazione per eseguire script.

  • L'utente non dispone dell'autorizzazione per creare o eliminare cartelle nelle posizioni elencate negli script.

  • L'utente non è autorizzato a creare file di testo nelle posizioni elencate negli script.

Nota

Se hai configurato un'istanza di Windows Server e desideri distribuire un campione diverso, potresti voler utilizzare quello illustrato Fase 2: configura il contenuto sorgente da distribuire sull'istanza Amazon EC2 di Windows Server nel Tutorial: distribuisci un messaggio «ciao, mondo!» applicazione con CodeDeploy (Windows Server) tutorial.

Se hai configurato un'istanza RHEL e desideri distribuire un esempio diverso, potresti voler utilizzare quello illustrato Fase 2: configura il contenuto sorgente da distribuire sull'istanza Amazon Linux o Red Hat Enterprise Linux Amazon EC2 nel tutorial. Tutorial: Esegui WordPress la distribuzione su un'istanza Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux e Linux, macOS o Unix)

Al momento, non esiste un esempio alternativo per Ubuntu Server.

  1. Nel computer di sviluppo, crea innanzitutto una sottodirectory (sottocartella) denominata CodeDeployDemo-OnPrem che archivi i file della revisione di applicazione esemplificativa, poi accedi a tale sottocartella. Per questo esempio, supponiamo che utilizzerai la c:\temp cartella come cartella principale per Windows Server o la /tmp cartella come cartella principale per Ubuntu Server e RHEL. È possibile utilizzare una cartella diversa, prestando attenzione a sostituirla alla nostra coerentemente nel corso dell'intero tutorial:

    Per Windows:

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

    Per Linux, macOS o Unix:

    mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
  2. Nella radice della sottocartella CodeDeployDemo-OnPrem, utilizza un editor di testo per creare due file denominati appspec.yml e install.txt:

    appspec.ymlper 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.ymlper Ubuntu Server e 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

    Per ulteriori informazioni sui AppSpec file, vedere Aggiungere un file di specifiche dell'applicazione a una revisione per CodeDeploy eCodeDeploy AppSpec riferimento al file.

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. Nella radice della sottocartella CodeDeployDemo-OnPrem, crea una sottocartella scripts per poi accedervi:

    Per Windows:

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

    Per Linux, macOS o Unix:

    mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts cd /tmp/CodeDeployDemo-OnPrem/scripts
  4. Nella radice della scripts sottocartella, utilizzate un editor di testo per creare quattro file denominatibefore-install.bat,after-install.bat,application-start.bat, e validate-service.bat per Windows Server oppure, before-install.sh after-install.shapplication-start.sh, e validate-service.sh per Ubuntu Server e RHEL:

    Per 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

    Per Ubuntu Server e 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. Solo per Ubuntu Server e RHEL, assicurati che i quattro script di shell abbiano i permessi di esecuzione:

    chmod +x ./scripts/*