我有一個具有Composer依賴關係的應用程序,我想將其部署到Elastic Beanstalk容器。但是,我的composer.json文件不在項目根文件夾中。我的項目根具有以下結構:AWS Elastic Beanstalk和Composer
- .ebextensions
- scripts
- www (Webroot)
- composer.json
而且我已經在容器配置選項中將文檔根設置爲/ www。問題是我需要在盒子上安裝composer並運行composer安裝腳本來添加項目依賴項。我知道在部署期間,EB會檢查項目根目錄中是否有composer.json文件並安裝Composer,但在這種情況下,我的composer.json文件位於子目錄中。
我認爲在部署應用程序後,可以使用.ebextenstions添加命令來安裝Composer和依賴項。我創建了一個文件.ebextensions/01-composer.config與以下容器的命令:
container_commands:
01-install-composer:
command: "curl -sS https://getcomposer.org/installer | php"
02-install-packages:
command: "php composer.phar install"
cwd: "/var/app/current/www/"
但我的應用程序將無法使用此配置部署。希望得到一些幫助,看看我哪裏去錯了。
謝謝。
您是否嘗試將composer.json移動到項目的根目錄並進行部署? – tbjers
一個快速測試,這似乎工作。謝謝。不知道爲什麼我沒有真正想到這一點,現在看來很明顯。 –
我有一個相關的問題。需要注意的是,您需要創建.ebextensions文件夾 - 不要使用現有的.elasticbeanstalk文件夾。 – Acyra