8

Ich habe PHP-Anwendung (Laravel) und den eb CLI installiert. Vor Ort ist alles in Ordnung.Elastic Beanstalk CMD-AppDeploy Aktivität fehlgeschlagen (Komponist Problem ???)

Die Erstanwendung wie erwartet funktioniert (hochgeladen als archive.zip auf erstellt).

Wenn ich schiebe meine Repo auf meine Bewerbung mit:

git aws.push 

Es schlägt fehl. Die Protokolle sagen dies:

[2014-12-12T16:53:38.652Z] INFO [28264] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/10_composer_install.sh] : Activity failed. 
[2014-12-12T16:53:38.652Z] INFO [28264] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook] : Activity failed. 
[2014-12-12T16:53:38.652Z] INFO [28264] - [CMD-AppDeploy/AppDeployStage0] : Activity failed. 
[2014-12-12T16:53:38.653Z] INFO [28264] - [CMD-AppDeploy] : Completed activity. Result: 
Command CMD-AppDeploy failed. 

und diese

[2014-12-12T16:53:38.653Z] ERROR [28264] : Command CMD-AppDeploy failed! 
[2014-12-12T16:53:38.654Z] INFO [28264] : Command processor returning results: 
{"status":"FAILURE","api_version":"1.0","truncated":"true","results": 
[{"status":"FAILURE","msg":"[CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/10_composer_install.sh] 
command failed with error code 1: 
/opt/elasticbeanstalk/hooks/appdeploy/pre/10_composer_install.sh\n++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir\n+ EB_APP_STAGING_DIR=/var/app/ondeck\n+ 
cd /var/app/ondeck\n+ '[' -f composer.json ']'\n+ 
export COMPOSER_HOME=/root\n+ COMPOSER_HOME=/root\n+ '[' -d vendor ']'\n++ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o composer_options\n+ PHP_COMPOSER_OPTIONS=\n+ 
echo 'Found composer.json file. Attempting to install vendors.'\nFound composer.json file. 
Attempting to install vendors.\n+ composer.phar install --no-ansi --no-interaction\nLoading composer repositories with package information\nInstalling dependencies (including require-dev) from lock file\n - Installing symfony/finder (v2.5.8)\n ","returncode":1,"events":[]}]} 

Ich dachte, es ist ein Komponist Problem war, ich habe in die Instanz gegangen und ein Komponist Update innerhalb der Maschine gemacht, aber das hat gut funktioniert.

Ich habe die composer.lock Datei aus dem .gitignore entfernt

Ich kann nichts ähnliche Online finden so etwas hier/fehlt etwas sehr offensichtlich tue ich nehme ich.

+1

Ich habe das gleiche Problem hier :( –

+0

Was ist die Unterschiede in Ihrer Installation Rich? Was machst du? – Mason8r

+1

versuchen Sie durch Ihre Protokolle (Download von EB-Konsole) und suchen Sie nach wo Komponisten erscheint .Ich kann mich nicht erinnern, wo, aber ein Teil der Logs zeigt die Composer-Fehlerausgabe, die mir half, mein Problem zu lösen. –

Antwort

5

Ive gelungen, das Problem zu lösen ich mit wurde. Ich hatte einige private Repos, die scheiterten, da der Composer sie nicht herunterladen konnte, da ich Deployment Keys nicht in Bitbucket eingerichtet hatte. Das Hinzufügen des folgenden zu meinen Konfigurationsdateien löste das Problem.

files: 
    "/root/.ssh/bitbucket_deployment_key": 
    mode: "000600" 
    owner: root 
    group: root 
    content: | 
     -----BEGIN RSA PRIVATE KEY----- 
     PUT YOUR PRIVATE KEY HERE 
     -----END RSA PRIVATE KEY----- 
    "/root/.ssh/config": 
     mode: "000600" 
     owner: root 
     group: root 
     content: | 
     Host bitbucket.org 
      StrictHostKeyChecking no 
      IdentityFile /root/.ssh/bitbucket_deployment_key 
      UserKnownHostsFile /dev/null 

Von https://github.com/modern-media/wordpress-on-beanstalk

Ich bin mir nicht sicher, ob dies die gestellte Frage lösen beheben. Die Fehlermeldungen sind ziemlich allgemein. Ich musste in die vollen EB-Logs graben, um auf den Grund von mir zu kommen.

Weitere Ich habe auch festgestellt, dass manchmal Komponisten scheitern, weil es ein 404 erhält, wenn ein Repo zum Download versuchen. Das ist sehr seltsam, da ich immer die composer.lock Datei sollte zuverlässig sein. Dies ist eine einfache Lösung. Löschen Sie einfach Ihren .lock Datei und startet Komponisten Update erneut den richtigen Repo-URLs in Ihrer .lock-Datei zu erhalten.

5

Ich habe das gleiche Problem mit einem Symfony Einsatz der vergangenen Woche aufgetreten. Irgendwie sind die Post-Installationsskripte aufgrund eines Problems mit der Symfony prod/dev-Umgebung fehlgeschlagen.

Meine temporäre Lösung ist das Deaktivieren der Post-Skripte installieren und später ausgeführt wird, wenn die richtige SYMFONY_ENV eingestellt wurde.

In meinem .elasticbeanstalk/application.config:

option_settings: 
    - namespace: aws:elasticbeanstalk:container:php:phpini 
    option_name: composer_options 
    value: --no-dev --optimize-autoloader --no-scripts 

Und:

container_commands: 
    21_composer_postinstall: 
    command: composer.phar run-script post-install-cmd 

Der tatsächliche Fehler warum AppDeployPreHook/10_composer_install.sh in meinem Fall gescheitert war in eines der anderen Log-Dateien, so dass Sie tiefer zu graben haben könnten.

+1

Ich habe meine Nachinstallationsskripte vorläufig deaktiviert. Immer noch Probleme. Verdächtige es mit privaten Repos zu tun. Habe versucht, ssh-Schlüssel hinzuzufügen, aber nirgends schnell zu kommen. –

+0

Du hast den Tag gerettet – PachinSV