【发布时间】:2018-04-16 00:25:46
【问题描述】:
我在 AWS 上部署 Symfony 应用程序。我为此使用 Elastic Beanstalk。 在部署过程之后,我想运行一些 symfony 命令:清除缓存、更新数据库、...
所以我在 .config 里面创建了 .ebextention
commands:
01updateComposer:
command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update 1.0.0-alpha11
cache:
command: sudo php /var/www/html/bin/console cahce:clear --env=prod
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: COMPOSER_HOME
value: /root
但它接缝我的cache 命令不起作用或它在错误的时刻起作用。
有人可以帮帮我吗?
更新: 实际上我更新了配置文件。 我现在在 /tmp 中看到 end.txt、collect.txt、dump.txt。他们没事。 但我没有现场修改。例如没有资产。看起来命令在错误的时刻运行。
commands:
01updateComposer:
command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update 1.0.0-alpha11
collect:
command: sudo php /var/www/html/bin/console collect --nb=1 --env=prod >> /tmp/collect.txt
assetic:
command: sudo php /var/www/html/bin/console assets:install --symlink --env=prod >> /tmp/dump.txt
dump:
command: sudo php /var/www/html/bin/console assetic:dump --env=prod >> /tmp/dump.txt
end:
command: touch /tmp/end.txt
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: COMPOSER_HOME
value: /root
我也尝试使用 container_commands 而不是命令。这确实帮助了我。
P.s.我只有一个实例 EC2。所以这不可能是错误的实例。
【问题讨论】:
-
@KushVyas 我更新了我的问题。其实日志没问题。我什至将一些命令保存在 /tmp/*.txt 文件中。
标签: symfony amazon-web-services command amazon-elastic-beanstalk