我有一個Laravel 5.1 PHP應用程序,它使用作爲PHP依賴關係管理器的composer和npm作爲JavaScript依賴關係管理器,迄今爲止這麼好。使用彈性beanstalk的PHP應用程序部署
我想有這樣的應用程序的實時版本,我想ElasticBeanstalk自動部署,我創建了一個文件CONFI看起來像以下:
files:
/opt/elasticbeanstalk/hooks/appdeploy/pre/11_build.sh:
group: root
mode: "000755"
owner: root
content: |
#!/usr/bin/env bash
set -xe
. /opt/elasticbeanstalk/support/envvars
EB_APP_STAGING_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_staging_dir)
cd $EB_APP_STAGING_DIR
php artisan migrate --env="local"
yum -y --enablerepo=epel install nodejs npm
npm install -g gulp
npm install
gulp --production
option_settings:
-
namespace: "aws:elasticbeanstalk:command"
option_name: Timeout
value: 1600
此設置某個工作和某個它將需要30多分鐘才能完成, elasticbeanstalk觸發超時錯誤
現在下面塊是有
yum -y --enablerepo=epel install nodejs npm
npm install -g gulp
的原因
是因爲如果應用程序需要擴展到多臺服務器節點有可能被 沒有安裝,這將安裝節點爲我
現在我的問題是:我這樣做對嗎?這是解決自動部署問題的正確方法嗎? 有時部署需要30多分鐘才能執行,這是否正常?我可以改進我的部署嗎? 我非常喜歡鍵入「eb deploy」,一切都將開始!