Я пытаюсь запустить приложение на эластичном бобовом стебле в контейнере php 5.5. Есть 3 среды разработки, постановки и производства. Вы не можете различать среды при установке переменных среды из командной строки, поэтому я использую обходной путь, предложенный службой поддержки aws, который заключается в запуске сценария оболочки при развертывании для установки переменных в зависимости от наличия другой переменной, которую я могу варьировать в зависимости от среды
. Когда я развертываю свое приложение, в .ebextensions / есть файл конфигурации.
container_commands:
command01:
command: "./.ebextensions/setEnvVars.sh"
сценарий оболочки также находится в расширении .ebextensions и выглядит так
#!/bin/bash
case "$PARAM1" in
"development")
echo -e "SetEnv APP_ENV development\n
SetEnv DB_HOST *******\n
SetEnv DB_NAME *******\n
SetEnv DB_USERNAME *******\n
SetEnv DB_PASSWORD *******\n" > .htaccess
;;
"production")
echo -e "SetEnv APP_ENV production\n
SetEnv DB_HOST *******\n
SetEnv DB_NAME *******\n
SetEnv DB_USERNAME *******\n
SetEnv DB_PASSWORD *******\n" > .htaccess
;;
"staging")
echo -e "SetEnv APP_ENV staging\n
SetEnv DB_HOST *******\n
SetEnv DB_NAME *******\n
SetEnv DB_USERNAME *******\n
SetEnv DB_PASSWORD *******\n" > .htaccess
;;
esac
if [ -f .htaccess ]; then
chmod 644 .htaccess
fi
когда приложение развертывается, я получаю эту ошибку
[Instance: i-400fc60f Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Error occurred during build: Command command01 failed .
и это то, что я думаю, это соответствующий ecert из журналов
2014-02-03 12:54:25,531 [INFO] (1923 MainThread) [command.py-130] [root command execute] Command returned: (code: 1, stdout: Error occurred during build: Command command01 failed
, stderr: None)
2014-02-03 12:54:25,533 [DEBUG] (1923 MainThread) [commandWrapper.py-60] [root commandWrapper main] Command result: {'status': 'FAILURE', 'results': [{'status': 'FAILURE', 'config_sets': ['Infra-WriteRuntimeConfig', 'Infra-WriteApplication1', 'Infra-WriteApplication2', 'Infra-EmbeddedPreBuild', 'Hook-PreAppDeploy', 'Infra-EmbeddedPostBuild', 'Hook-EnactAppDeploy', 'Hook-PostAppDeploy'], 'returncode': 1, 'events': [], 'msg': 'Error occurred during build: Command command01 failed\n'}], 'api_version': '1.0'}
У меня нет опыта работы с эластичным бобовым стеблем или оболочкой, поэтому легко может быть синтаксическая ошибка, но я, честно говоря, не знаю, нужно было смотреть