У нас настроено автомасштабирование для нашего приложения symfony3. Мы используем aws codedeploy для развертывания в инстансах с автоматическим масштабированием.
Мой файл appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /usr/share/nginx/<some_dir>
hooks:
AfterInstall:
- location: post_deploy.sh
timeout: 180
runas: ubuntu
post_deploy.sh
#!/bin/bash
doc_root=/usr/share/nginx/<some_dir>
current_dir=$PWD
cd $doc_root
sudo -E composer install --no-interaction --no-dev --optimize-autoloader
cd $current_dir
а также экспортированные переменные окружения для файла parameters.yml
когда мы развертываем ревизию, codedeploy преуспевает в развертывании. Но когда я получаю доступ к своему приложению через браузер, журнал ошибок nginx говорит:
PHP Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException' with message 'You have requested a non-existent parameter "database.host". Did you mean one of these: "database_host", "database_port"?
Странно то, что когда я запускаю скрипт post_deploy.sh вручную, войдя на свой сервер, он выполняется хорошо, и впоследствии никаких ошибок. Я не знаю, как с этим справиться.