Сбой активности Elastic Beanstalk CMD-AppDeploy (проблема с композитором ???)

У меня есть приложение php (Laravel) и eb CLI установлены. Локально все хорошо.

Исходное приложение работает как положено (загружено в архиве .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

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

8

Решение

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

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. Каким-то образом не удалось выполнить сценарии после установки из-за проблемы со средой Symfony 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 Ошибка в моем случае была в одном из других файлов журнала, так что вам, возможно, придется копать глубже.

5

По вопросам рекламы [email protected]