How can I add PATH on Elastic Beanstalk

2019-06-25 10:23发布

问题:

I want to add PATH to packages on eb deploy. Packages are Installed to /var/www/html/vendor/bin

It can be add by manually through SSH, but how can I add PATH with config file.

I have config file like this .ebextensions/ec2.config. 01-set_timezone works fine 02-set_path dosen't

commands:
  01-set_timezone:
    command: cp /usr/share/zoneinfo/Japan /etc/localtime
  02-set_path:
    command: export PATH=$PATH:/var/www/html/vendor/bin

回答1:

each command is performed in its own shell. so the export won't work. you'd need to put it into ~/.bash_profile to ensure it's executed with every new command.

commands:
  set_path:
    test: test ! -f /opt/elasticbeanstalk/.post-provisioning-complete
    command: echo 'export PATH=$PATH:/var/www/html/vendor/bin' >> /root/.bash_profile

to make it run only once, add the following file:

.ebextensions/99_finalize_setup.config:

commands:
  99_write_post_provisioning_complete_file:
    command: touch /opt/elasticbeanstalk/.post-provisioning-complete