AWS BeanstalkでPHPプラットフォームを選択するとき、最新のプラットフォームブランチだとAmazon Linux2を使うようになっている。
Amazon Linuxのときに使っていた、ebextensionsがそのままだと動かなかったのを書き換えたのでメモ。
/var/app/ondeck
で動いていた部分を変更。
一応ログを見る限り、composer installは自動で走っているみたいなので、00-composerはいらないかもしれないと思う。
ここのコマンドのエラーログは、/var/log/cfn-init-cmd.log
に出力される
変更前
.ebextensions/*.config
commands:
01-updateComposer:
command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: COMPOSER_HOME
value: /root
- namespace: aws:elasticbeanstalk:container:php:phpini
option_name: document_root
value: /public
container_commands:
00-composer:
command: "php /opt/elasticbeanstalk/support/composer.phar install"
cwd: "/var/app/ondeck"
01-environment:
command: "mv /var/app/ondeck/$ENV_FILE /var/app/ondeck/.env"
02-migrate:
command: "php artisan migrate"
cwd: "/var/app/ondeck"
変更後
.ebextensions/*.config
commands:
01-updateComposer:
command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: COMPOSER_HOME
value: /root
- namespace: aws:elasticbeanstalk:container:php:phpini
option_name: document_root
value: /public
container_commands:
00-composer:
command: "php /usr/bin/composer.phar install"
cwd: "/var/app/staging"
01-environment:
command: "mv /var/app/staging/$ENV_FILE /var/app/staging/.env"
02-migrate:
command: "php artisan migrate"
cwd: "/var/app/staging"