Ich möchte Plattform-Hooks verwenden, um benutzerdefinierte Skripts oder andere ausführbare Dateien zu erstellen, um meine AWS Elastic Beanstalk-Umgebung anzupassen. Ich möchte diese in meinen Amazon Elastic Compute Cloud (Amazon EC2)-Instances bereitstellen, die in der Umgebung ausgeführt werden.
Behebung
Hinweis: Plattform-Hooks werden auf Amazon Linux Amazon Machine Image (AMI)-Plattformversionen vor Amazon Linux 2 nicht unterstützt. Elastic Beanstalk gewährt automatisch Ausführungsberechtigungen für alle Plattform-Hook-Skripte für Amazon AL2023 und Amazon Linux 2.
Einrichten des .platform-Verzeichnisses
Führen Sie die folgenden Schritte aus:
- Erstellen Sie im Stammverzeichnis Ihres Anwendungspakets ein ausgeblendetes Verzeichnis mit dem Namen .platform/hooks für Plattform-Hooks zur Anwendungsbereitstellung oder .platform/confighooks für Plattform-Hooks für die Konfigurationsbereitstellung.
- Je nachdem, in welcher Phase der Instance-Bereitstellung die Plattform-Hook-Dateien ausgeführt werden, müssen Sie die Hook-Dateien entweder im Unterverzeichnis prebuild, predeploy oder postdeploy ablegen.
Weitere Informationen zu den einzelnen Unterverzeichnissen finden Sie unter Plattform-Hooks für die Anwendungsbereitstellung.
- Ihr Anwendungsquellpaket muss dem folgenden Paket ähneln:
~/workspace/my-application/|-- .platform
|--hooks
|--prebuild
|-- custom-prebuild-script.sh
|--predeploy
|-- custom-predeploy-script.sh
|--postdeploy
|-- custom-postdeploy-script.sh
|-- .ebextensions
|-- index.php
`-- styles.css
Angeben der Hook-Dateien
Hook-Dateien können Binärdateien oder Skriptdateien sein, die mit einer #!-Zeile beginnen und ihren Interpreter-Pfad enthalten, z. B. #!/bin/bash.
Beispiel für den Inhalt einer custom-postdeploy-script.sh-Skriptdatei:
#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'
Weitere Informationen finden Sie unter Wie verwende ich .ebextensions, um meine Elastic Beanstalk-Umgebung anzupassen?
Anwenden der Plattform-Hooks auf die Anwendung
Führen Sie die folgenden Schritte aus:
- Erstellen Sie ein Anwendungsquellpaket, das die vorherigen Plattform-Hooks und Konfigurationsdateien enthält.
Hinweis: Dateibrowser können Ordner ausblenden, die mit einem Punkt beginnen, z. B. .platform und .ebextensions. Damit die Ordner sichtbar bleiben, fügen Sie die Ordner in das Stammverzeichnis des Anwendungspakets ein, wenn Sie das Anwendungsquellpaket erstellen.
- Stellen Sie die aktualisierte Elastic Beanstalk-Anwendung bereit.