2015-12-09 96 views
2

我想將PATH添加到eb deploy上的軟件包。 軟件包安裝到/var/www/html/vendor/bin如何在Elastic Beanstalk上添加PATH

它可以通過SSH手動添加,但如何添加PATH與配置文件。

我有這樣的配置文件.ebextensions/ec2.config01-set_timezone工作

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

每個命令在自己的殼進行精細02-set_path這麼想的。所以導出不起作用。你需要把它放到~/.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

這將被添加到PATH'.bash_profile'每一個部署。有沒有辦法在每個實例上添加一次路徑。 – snize

+0

當然。編輯答案。 – Tal

+0

這是答案的關鍵部分:「每個命令都在其自己的shell中執行」 - 理解,使我們能夠在引用Anaconda&Python的自定義安裝方面取得進展,並確保我們使用Conda和Flask的正確安裝後續命令在我們的配置腳本中。 – tatlar