Création, téléchargement et déploiement de l'application - Guide du développeur d'applications AMS Advanced

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.

Création, téléchargement et déploiement de l'application

Créez d'abord un bundle d' WordPress applications, puis utilisez-le CodeDeploy CTs pour créer et déployer l'application.

  1. Téléchargez WordPress, extrayez les fichiers et créez un. répertoire /scripts.

    Commande Linux :

    wget https://github.com/WordPress/WordPress/archive/master.zip

    Windows : collez https://github.com/WordPress/WordPress/archive/master.zip le fichier dans une fenêtre de navigateur et téléchargez le fichier zip.

    Créez un répertoire temporaire dans lequel assembler le package.

    Linux :

    mkdir /tmp/WordPress

    Windows : Créez un répertoire WordPress « », vous utiliserez le chemin du répertoire ultérieurement.

  2. Extrayez la WordPress source dans le répertoire WordPress « » et créez un fichier. répertoire /scripts.

    Linux :

    unzip master.zip -d /tmp/WordPress_Temp cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress rm -rf /tmp/WordPress_Temp rm -f master cd /tmp/WordPress mkdir scripts

    Windows : Accédez au répertoire « WordPress » que vous avez créé et créez-y un répertoire « scripts ».

    Si vous êtes dans un environnement Windows, veillez à définir le type de rupture des fichiers de script sur Unix (LF). Dans Notepad ++, il s'agit d'une option en bas à droite de la fenêtre.

  3. Créez le fichier CodeDeploy appspec.yml dans le WordPress répertoire (si vous copiez l'exemple, vérifiez l'indentation, chaque espace compte). IMPORTANT : Assurez-vous que le chemin « source » est correct pour copier les WordPress fichiers (dans ce cas, dans votre WordPress répertoire) vers la destination prévue (/var/www/html/WordPress). Dans l'exemple, le fichier appspec.yml se trouve dans le répertoire contenant les WordPress fichiers, donc seul «/» est nécessaire. De plus, même si vous avez utilisé une AMI RHEL pour votre groupe Auto Scaling, laissez la ligne « os : linux » telle quelle. Exemple de fichier appspec.yml :

    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/config_wordpress.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
  4. Créez des scripts de fichiers bash dans le WordPress . répertoire /scripts.

    Commencez config_wordpress.sh par créer avec le contenu suivant (si vous préférez, vous pouvez modifier directement le fichier wp-config.php).

    Note

    Remplacez DBName par la valeur indiquée dans la RFC HA Stack (par exemple,wordpress).

    Remplacez DB_MasterUsername par la MasterUsername valeur indiquée dans la RFC HA Stack (par exemple,admin).

    Remplacez DB_MasterUserPassword par la MasterUserPassword valeur indiquée dans la RFC HA Stack (par exemple,p4ssw0rd).

    DB_ENDPOINTRemplacez-le par le nom DNS du point de terminaison dans les sorties d'exécution de la HA Stack RFC (par exemple,srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com). Vous pouvez le trouver dans l'GetRfcopération (CLI : get-rfc --rfc-id RFC_ID) ou dans la page de détails de la RFC de la console AMS pour la RFC HA Stack que vous avez précédemment soumise.

    #!/bin/bash chmod -R 755 /var/www/html/WordPress cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php cd /var/www/html/WordPress sed -i "s/database_name_here/DBName/g" wp-config.php sed -i "s/username_here/DB_MasterUsername/g" wp-config.php sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php
  5. Dans le même répertoire, créez install_dependencies.sh avec le contenu suivant :

    #!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restart
    Note

    Le protocole HTTPS est installé dans les données utilisateur au lancement afin de permettre aux contrôles de santé de fonctionner dès le départ.

  6. Dans le même répertoire, créez start_server.sh avec le contenu suivant :

    • Pour les instances Amazon Linux, utilisez ceci :

      #!/bin/bash service httpd start
    • Pour les instances RHEL, utilisez ceci (les commandes supplémentaires sont des politiques qui autorisent SELINUX à accepter) : WordPress

      #!/bin/bash setsebool -P httpd_can_network_connect_db 1 setsebool -P httpd_can_network_connect 1 chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R restorecon -Rv /var/www/html service httpd start
  7. Dans le même répertoire, créez stop_server.sh avec le contenu suivant :

    #!/bin/bash service httpd stop
  8. Créez le bundle zip.

    Linux :

    $ cd /tmp/WordPress $ zip -r wordpress.zip .

    Windows : Accédez à votre répertoire WordPress « », sélectionnez tous les fichiers et créez un fichier zip. N'oubliez pas de le nommer wordpress.zip.

  1. Téléchargez le bundle d'applications dans le compartiment S3

    Le package doit être en place pour continuer à déployer la pile.

    Vous avez automatiquement accès à toutes les instances de compartiment S3 que vous créez. Vous pouvez y accéder via vos Bastions (voir Accès aux instances) ou via la console S3, et télécharger le CodeDeploy package avec drag-and-drop, ou en naviguant vers le fichier et en le sélectionnant.

    Vous pouvez également utiliser la commande suivante dans une fenêtre shell ; assurez-vous que le chemin d'accès au fichier zip est correct :

    aws s3 cp wordpress/wordpress.zip s3://BUCKET_NAME/
  2. Déployer le bundle WordPress CodeDeploy d'applications

    DÉPLOIEMENT DE L'APPLICATION DE DÉPLOIEMENT DU CODE DE DONNÉES REQUIS :

    • CodeDeployApplicationName: le nom que vous avez donné à l' CodeDeploy application.

    • CodeDeployGroupName: Étant donné que l' CodeDeploy application et le groupe ont tous deux été créés à partir du nom que vous avez donné à l' CodeDeploy application dans la RFC de la pile HA, il s'agit du même nom que le CodeDeployApplicationName.

    • S3Bucket : nom que vous avez donné au compartiment S3.

    • S3 BundleType et S3Key : ils font partie du bundle d' WordPress applications que vous avez déployé.

    • VpcId: Le VPC concerné.

    1. Sur la page Créer une RFC, sélectionnez la catégorie Déploiement, la sous-catégorie Applications, l'article CodeDeploy application et l'opération Deploy dans la liste de sélection RFC CT.

    2. Conservez l'option Basic par défaut et définissez les valeurs comme indiqué.

      Note

      Référencez l' CodeDeploy application, CodeDeploy le groupe de déploiement, le compartiment S3 et le bundle créés précédemment.

      Subject: WP-CD-Deploy-RFC Description: DeployWordPress S3Bucket: BUCKET_NAME S3Key: wordpress.zip S3BundleType: zip CodeDeployApplicationName: WordPress CodeDeployDeploymentGroupName: WordPress CodeDeployIgnoreApplicationStopFailures: false RevisionType: S3 VpcId: VPC_ID Name: WP-CD-Deploy-Op TimeoutInMinutes: 60
    3. Cliquez sur Soumettre lorsque vous avez terminé.