Я создал сценарий пост-развертывания для приложения PHP, существующего в Amazon Elastick Beanstack. Сценарий правильно запускается на удаленной машине, но, вероятно, текущий каталог не является тем, где существует приложение.
Как изменить путь, чтобы узнать, где установлено приложение PHP на экземпляре Amazon Elastick Beanstack?
Файл EBextension:
commands:
create_post_dir:
command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/post"ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/99_change_access_rights.sh":
mode: "000755"owner: root
group: root
content: |
#!/usr/bin/env bash
# cd $EB_CONFIG_APP_CURRENT
chmod 777 wp-content/plugins/wp-scss/cache
chmod 777 wp-content/themes/XXXX/css
Журналы ошибок:
2014-12-03T12:59:43.642Z] ERROR [22868] : Command execution failed: [CMD-AppDeploy/AppDeployStage1/AppDeployPostHook/99_change_access_rights.sh] command failed with error code 1: /opt/elasticbeanstalk/hooks/appdeploy/post/99_change_access_rights.sh
chmod: cannot access âwp-content/plugins/wp-scss/cacheâ: No such file or directory
chmod: cannot access âwp-content/themes/XXXXX/cssâ: No such file or directory (ElasticBeanstalk::ActivityFatalError)
at /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.1.0/gems/beanstalk-core-1.0/lib/elasticbeanstalk/activity.rb:189:in `rescue in exec'
...
caused by: command failed with error code 1: /opt/elasticbeanstalk/hooks/appdeploy/post/99_change_access_rights.sh
вам нужно указать полный путь:
...
chmod 777 /var/app/current/wp-content/plugins/wp-scss/cache
...
Других решений пока нет …