Ich habe eine Anwendung mit Composer-Abhängigkeiten, die ich in einem Elastic Beanstalk-Container bereitstellen möchte. Meine composer.json-Datei befindet sich jedoch nicht im Stammordner des Projekts. Mein Projekt root hat die folgende Struktur:AWS Elastic Beanstalk und Composer
Und ich habe den Dokumentstamm auf/www in den Container-Konfigurationsoptionen festgelegt. Das Problem ist, dass ich Composer auf der Box installieren und das Composer-Installationsskript ausführen muss, um die Projektabhängigkeiten hinzuzufügen. Ich verstehe, dass EB während einer Bereitstellung prüfen wird, ob es eine composer.json-Datei im Projektstamm gibt und installiere Composer, aber in diesem Fall befindet sich meine composer.json-Datei in einem Unterverzeichnis.
Ich dachte, dass .EBEXTENSIONS verwenden könnte, um Befehle hinzuzufügen, um Composer und Abhängigkeiten zu installieren, nachdem die Anwendung bereitgestellt wurde. Ich habe eine Datei .ebextensions/01-composer.config mit den folgenden Container Befehle:
container_commands:
01-install-composer:
command: "curl -sS https://getcomposer.org/installer | php"
02-install-packages:
command: "php composer.phar install"
cwd: "/var/app/current/www/"
Aber meine App wird nicht mit dieser Konfiguration bereitstellen. Ich würde mich über Hilfe freuen, um zu sehen, wo ich falsch liege.
Danke.
Haben Sie versucht, composer.json in den Stamm Ihres Projekts zu verschieben und es zu implementieren? – tbjers
Ein kurzer Test und das scheint zu funktionieren. Vielen Dank. Nicht sicher, warum ich nicht wirklich daran gedacht habe, scheint jetzt offensichtlich. –
Ich hatte ein etwas ähnliches Problem. Es ist wichtig zu beachten, dass Sie den Ordner .exextensions erstellen müssen. Verwenden Sie nicht den vorhandenen Ordner .elasticbeanstalk. – Acyra