Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Amazon Linux- oder Red Hat Enterprise Linux EC2 Amazon-Instance - AWS CodeDeploy

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Amazon Linux- oder Red Hat Enterprise Linux EC2 Amazon-Instance

Jetzt ist es an der Zeit, die Quellinhalte Ihrer Anwendung zu konfigurieren, damit Sie Inhalte haben, die Sie auf der Instance bereitstellen können.

Holen Sie sich den Quellcode

In diesem Tutorial stellen Sie die Plattform zur Veröffentlichung von WordPress Inhalten von Ihrem Entwicklungscomputer auf der EC2 Amazon-Zielinstanz bereit. Um den WordPress Quellcode abzurufen, können Sie integrierte Befehlszeilenaufrufe verwenden. Wenn Sie auf Ihrem Entwicklungscomputer Git installiert haben, können Sie stattdessen auch Git verwenden.

Für diese Schritte gehen wir davon aus, dass Sie eine Kopie des WordPress Quellcodes in das /tmp Verzeichnis auf Ihrem Entwicklungscomputer heruntergeladen haben. (Sie können jedes beliebige Verzeichnis wählen. Denken Sie aber daran, den Speicherort für /tmp zu ersetzen, wenn dies in den folgenden Schritten angegeben ist.)

Wählen Sie eine der folgenden beiden Optionen, um die WordPress Quelldateien auf Ihren Entwicklungscomputer zu kopieren. Bei der ersten Option werden integrierte Befehlszeilenaufrufe genutzt. Bei der zweiten Option wird Git verwendet.

Um eine Kopie des WordPress Quellcodes zu erhalten (integrierte Befehlszeilenaufrufe)

  1. Rufen Sie den wget Befehl auf, um eine Kopie des WordPress Quellcodes als ZIP-Datei in das aktuelle Verzeichnis herunterzuladen:

    wget https://github.com/WordPress/WordPress/archive/master.zip
  2. Rufen Sie die Befehle unzip, mkdir, cp und rm auf, um:

    • die master .zip-Datei im /tmp/WordPress_Temp-Verzeichnis (Ordner) zu entpacken.

    • den entpackten Inhalt in den /tmp/WordPress-Zielordner zu kopieren.

    • den temporären /tmp/WordPress_Temp-Ordner und die master-Datei zu löschen.

    Führen Sie die Befehle einzeln aus:

    unzip master -d /tmp/WordPress_Temp
    mkdir -p /tmp/WordPress
    cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
    rm -rf /tmp/WordPress_Temp
    rm -f master

    Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im /tmp/WordPress Ordner.

Um eine Kopie des WordPress Quellcodes zu erhalten (Git)

  1. Laden Sie Git auf Ihren Entwicklungscomputer herunter und installieren Sie das Programm.

  2. Rufen Sie im Ordner /tmp/WordPress den Befehl git init auf.

  3. Rufen Sie den git clone Befehl zum Klonen des öffentlichen WordPress Repositorys auf und erstellen Sie Ihre eigene Kopie davon im /tmp/WordPress Zielordner:

    git clone https://github.com/WordPress/WordPress.git /tmp/WordPress

    Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im /tmp/WordPress Ordner.

Erstellen Sie Skripts, um Ihre Anwendung auszuführen

Erstellen Sie als Nächstes einen Ordner und Skripts im Verzeichnis. CodeDeploy verwendet diese Skripts, um Ihre Anwendungsrevision auf der EC2 Amazon-Zielinstanz einzurichten und bereitzustellen. Sie können zum Erstellen der Skripts jeden beliebigen Texteditor verwenden.

  1. Erstellen Sie ein Skriptverzeichnis in Ihrer Kopie des WordPress Quellcodes:

    mkdir -p /tmp/WordPress/scripts
  2. Erstellen Sie eine install_dependencies.sh-Datei in /tmp/WordPress/scripts. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses install_dependencies.sh Skript installiert ApacheSQL, My undPHP. Es fügt auch Meine SQL Unterstützung hinzuPHP.

    #!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
  3. Erstellen Sie eine start_server.sh-Datei in /tmp/WordPress/scripts. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses start_server.sh Skript startet Apache und MySQL.

    #!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
  4. Erstellen Sie eine stop_server.sh-Datei in /tmp/WordPress/scripts. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses stop_server.sh Skript stoppt Apache und MySQL.

    #!/bin/bash isExistApp="pgrep httpd" if [[ -n $isExistApp ]]; then systemctl stop httpd.service fi isExistApp=pgrep mysqld if [[ -n $isExistApp ]]; then systemctl stop mariadb.service fi isExistApp=pgrep php-fpm if [[ -n $isExistApp ]]; then systemctl stop php-fpm.service fi
  5. Erstellen Sie eine create_test_db.sh-Datei in /tmp/WordPress/scripts. Fügen Sie der Datei die folgenden Zeilen hinzu. Dieses create_test_db.sh Skript verwendet MySQL, um eine test Datenbank zur Verwendung WordPress zu erstellen.

    #!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
  6. Erstellen Sie schließlich ein change_permissions.sh-Skript in /tmp/WordPress/scripts. Damit werden die Ordnerberechtigungen in Apache geändert.

    Wichtig

    In diesem Skript wurden die Berechtigungen für den /tmp/WordPress-Ordner aktualisiert, damit alle Benutzer darin schreiben können. Dies ist erforderlich, damit WordPress währenddessen in die Datenbank geschrieben werden kannSchritt 5: Aktualisieren Sie Ihre WordPress Anwendung und stellen Sie sie erneut bereit. Führen Sie nach der Einrichtung der WordPress Anwendung den folgenden Befehl aus, um die Berechtigungen auf eine sicherere Einstellung zu aktualisieren:

    chmod -R 755 /var/www/html/WordPress
    #!/bin/bash chmod -R 777 /var/www/html/WordPress
  7. Geben Sie allen Skripts ausführbare Berechtigungen. Geben Sie an der Befehlszeile Folgendes ein:

    chmod +x /tmp/WordPress/scripts/*

Fügen Sie eine Anwendungsspezifikationsdatei hinzu

Fügen Sie als Nächstes eine Anwendungsspezifikationsdatei (AppSpec Datei) hinzu, eine YAML-formatierte Datei, die verwendet wird, um CodeDeploy :

  • Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision ihren Zielen auf der EC2 Amazon-Zielinstanz zu.

  • Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.

  • Geben Sie Skripte an, die während der Bereitstellung auf der EC2 Amazon-Zielinstanz ausgeführt werden sollen.

Die AppSpec Datei muss benannt werdenappspec.yml. Sie muss sich im Stammverzeichnis des Anwendungsquellcodes befinden. Das Stammverzeichnis dieses Tutorials ist /tmp/WordPress.

Erstellen Sie mit Ihrem Texteditor eine Datei mit dem Namen appspec.yml. Fügen Sie der Datei die folgenden Zeilen hinzu:

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/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root

CodeDeploy verwendet diese AppSpec Datei, um alle Dateien im /tmp/WordPress Ordner auf dem Entwicklungscomputer in den Ordner auf der /var/www/html/WordPress EC2 Amazon-Zielinstanz zu kopieren. CodeDeploy Führt während der Bereitstellung die angegebenen Skripts wie root im /var/www/html/WordPress/scripts Ordner auf der EC2 Amazon-Zielinstanz zu bestimmten Ereignissen während des Bereitstellungszyklus aus, z. B. BeforeInstall undAfterInstall. Wenn die Ausführung eines dieser Skripts länger als 300 Sekunden (5 Minuten) dauert, wird die Bereitstellung CodeDeploy gestoppt und die Bereitstellung als fehlgeschlagen markiert.

Weitere Informationen zu diesen Einstellungen finden Sie in der CodeDeploy AppSpec Dateiverweis.

Wichtig

Die Platzierung und Anzahl von Leerzeichen zwischen den einzelnen Elementen in dieser Datei ist wichtig. Wenn der Abstand falsch ist, wird CodeDeploy ein Fehler ausgelöst, der möglicherweise schwer zu debuggen ist. Weitere Informationen finden Sie unter AppSpec Dateiabstand.