2015-06-05 47 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