2015-06-05 104 views
0

似乎從Laravel Envoyer部署時,我們無法在運行作曲家安裝/更新之前進行清除編譯,因此Envoyer正在從緩存中加載軟件包。在Envoyer上運行作曲家安裝之前清楚編譯

這顯然可以手動固定由SSH到釋放文件夾和運行:

php artisan clear-compiled 
composer update 

這是大部分時間的問題。我在升級時遇到這種情況: pda/pheanstalk

由於envoyer不斷從緩存加載以前的版本,因此它不起作用。

此刻我的臨時解決方法是運行:

cd {{release}} 
php artisan clear-compiled 
composer update 
php artisan optimize 

部署掛鉤,但我只能envoyer的初始作曲家安裝鉤子後,作爲有在發行文件夾中沒有編譯的文件之前運行此。

這是現在好,但問題是,我的部署任務正在運行作曲家安裝/更新兩次,這是不必要的開銷。

有沒有更好的方法如何做到這一點?

回答

0

我的部署掛鉤:

cd "$DEPLOY_PATH" 
php artisan down 

git reset --hard HEAD 
git clean -fd 
git pull origin "$BRANCH" 

composer install --no-dev --profile 
composer dump-autoload --optimize --profile 
php artisan optimize --force 
php artisan config:cache 
php artisan route:cache 
php artisan migrate --force 
php artisan up