8

У меня есть приложение php (Laravel) и установленное CLI eb. Локально все в порядке.Эластичный Beanstalk CMD-AppDeploy Не удалось выполнить работу (проблема с Composer?)

Исходное приложение работает как ожидалось (загружено как archive.zip на созданном).

Когда я нажимаю мой репозиторий для моего приложения с помощью:

git aws.push 

Он выходит из строя. Бревна сказать:

[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. 

и это

[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":[]}]} 

Я думал, что это был вопрос Composer, я пошел в экземпляр и сделал обновление композитора в машине, но это работало нормально.

Я удалил файл composer.lock из .gitignore

Я не могу найти ничего подобного в Интернете, так я предполагаю, что я делаю что-то/что-то отсутствует очевидное здесь.

+1

У меня такая же проблема :( –

+0

В чем отличия в вашей установке Rich? Что вы делаете? – Mason8r

+1

попробуйте просмотреть свои журналы (загрузить с консоли EB) и найти все, где появляется композитор ,Я не могу вспомнить, где, но одна часть журналов показывает результат ошибки композитора, который помог мне решить мою проблему. –

ответ

5

Ive удалось решить вопрос, который у меня был. У меня было несколько частных репозиториев, которые терпели неудачу, поскольку композитор не мог их загрузить, поскольку я не устанавливал ключи развертывания в битбакете. Добавление следующего в мои файлы конфигурации решило проблему.

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 

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

Я не уверен, если это будет исправить решить поставленный вопрос. Сообщения об ошибках довольно общие. Мне приходилось копаться в полном бревне EB, чтобы добраться до нижней части моей.

Я также обнаружил, что иногда композитор может потерпеть неудачу, так как он получает 404 при попытке загрузить репо. Это очень странно, поскольку я всегда, хотя файл composer.lock должен быть надежным. Это простое решение. Просто удалите файл .lock и запустите обновление композитора, чтобы получить правильные URL-адреса репо в файле .lock.

5

Я столкнулся с той же проблемой при развертывании Symfony на прошлой неделе. Как-то сценарии после установки завершились неудачно из-за проблемы с продукцией Symdony prod/dev.

Мое временное исправление отключает скрипты после установки и запускает их позже, когда установлен правильный SYMFONY_ENV.

В моей .elasticbeanstalk/application.config:

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

И:

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

Фактическая ошибка, почему AppDeployPreHook/10_composer_install.sh потерпел неудачу в моем случае был в одном из других файлов журналов, так что вы, возможно, придется копать глубже.

+1

Я отключил свои сценарии установки сообщений. Все еще есть проблемы. Подозреваю, что это делать с частными репозиториями. Попробовали добавить ключи ssh, но не успели быстро –

+0

Вы спасли день – PachinSV