0

我有一個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」,一切都將開始!

回答

0

您應該能夠用於該環境的配置選項,而不是寫一個bash文件了:

Customising software on linux servers

這將允許你做這樣的事情:

packages: 
    yum: 
    nodejs: [] 
    npm: [] 

然而:

Elastic Beanstalk當前支持以下翼式封裝經理:百勝,RubyGems的,Python和轉

所以你仍然需要做的npm install gulp,手動

...
相關問題