2015-12-09 3 views
2

Я хочу добавить PATH в пакеты по eb deploy. Пакеты устанавливаются на /var/www/html/vendor/binКак добавить PATH на эластичный бобовый станок

Его можно добавить вручную через SSH, но как я могу добавить PATH с конфигурационным файлом.

У меня есть файл конфигурации, подобный этому .ebextensions/ec2.config. 01-set_timezone работает отлично 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 

ответ

7

каждая команда выполняется в своей собственной оболочке. поэтому экспорт не будет работать. вам нужно поместить его в ~/.bash_profile, чтобы убедиться, что он выполнен с каждой новой командой.

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

, чтобы запустить его только один раз, добавьте следующий файл:

.ebextensions/99_finalize_setup.config:

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

Это будет добавлен путь к '.bash_profile' каждый Deploy. Есть ли способ добавить путь один раз на каждый экземпляр. – snize

+0

уверен. отредактировал ответ. – Tal

+0

Это ключевая часть ответа: 'каждая команда выполняется в своей оболочке' - понимание, которое позволило нам добиться прогресса в ссылке на пользовательские установки Anaconda & Python и гарантировать, что мы использовали правильные установки Conda & Flask в последующие команды в нашем скрипте конфигурации. – tatlar

Смежные вопросы