Переменная Composer Environment отсутствует в приложении CodeDeploy

Я интегрирую AWS Auto Scaling Group с Code Deploy.

Я написал bash-скрипт для хука AfterInstall.

Сценарий выполняет обновление композитора, автозагрузку дампа композитора, так как мой код использует PHP.

И вот в чем проблема. Когда я развертываю, развертывание завершается с ошибкой с этим журналом.

[Исключение во время выполнения]

Переменная среды HOME или COMPOSER_HOME должна быть установлена ​​для правильной работы композитора.

Но когда я получаю доступ к экземпляру через SSH и запускаю композитор, он работает нормально.

Как это исправить? Кто-нибудь решал эту проблему?

Любой ответ будет оценен. Спасибо за ваше время.


person jesuisgenial    schedule 28.07.2017    source источник


Ответы (3)


У меня была аналогичная проблема с использованием Elastic Beanstalk, и я исправил ее, добавив Переменная среды

введите здесь описание изображения

введите здесь описание изображения

Вы сможете добиться этого в CodeDeploy. тоже например на создание приложения.

введите здесь описание изображения

См. также https://github.com/composer/composer/issues/4789.

person Paolo Falomo    schedule 28.07.2017
comment
@jesuisgenial пожалуйста :) не забудьте установить меня в качестве отвечающего, если исправлено :) Примечание: я добавил еще один скриншот - person Paolo Falomo; 28.07.2017
comment
Спасибо, это сработало! И я нашел более простой способ, и он просто запускает композитор с переменными ENV.. вот так COMPOSER_HOME=$COMPOSER_HOME composer install --no-interaction --no-dev --optimize-autoloader - person jesuisgenial; 31.07.2017
comment
О, круто! Рад, что помог :D :D :D - person Paolo Falomo; 01.08.2017

Не могли бы вы убедиться, что переменная env также доступна пользователю, указанному вами в файле apppec, для которого запускается скрипт ловушки? Если у вас есть несколько пользователей, работающих с экземпляром, переменная env может быть недоступна для каждого пользователя в зависимости от того, как вы ее настроили.

person binbinlu    schedule 28.07.2017
comment
О, я даже не знал, что могу указать, какому пользователю запускать хуки-скрипты. Спасибо :) - person jesuisgenial; 31.07.2017

У меня такая же проблема с установкой композитора с помощью CodeDeploy. Он хорошо работает в разработке, но когда я запустил его в производстве, я получаю: [stderr] [RuntimeException] [stderr] Переменная среды HOME или COMPOSER_HOME должна быть установлена ​​для правильной работы композитора I SSH для экземпляра и запуска композитора и я получить:

user@server:~/httpdocs$ /opt/plesk/php/7.2/bin/php /usr/lib/plesk-9.0/composer.phar install

Загрузка репозиториев композитора с информацией о пакете Установка зависимостей (включая require-dev) из файла блокировки Ничего не нужно устанавливать или обновлять Генерация оптимизированных файлов автозагрузки user@server:~/httpdocs$

У меня есть один экземпляр ec2, и я развертываю его в двух отдельных каталогах для stg и prod. ошибка развертывания кода

person Yammy    schedule 25.08.2020