在Envoyer上运行composer安装之前清除编译

时间:2015-06-05 21:38:42

标签: laravel envoyer.io

似乎从Laravel Envoyer部署时,我们无法在运行composer install / update之前进行清除编译,因此Envoyer正在从缓存中加载包。

这显然可以通过ssh手动修复到release文件夹并运行:

php artisan clear-compiled
composer update

这在大多数时候都是个问题。升级时遇到了这个问题: PDA / pheanstalk

因为envoyer不断从缓存中加载以前的版本,因此它不起作用。

目前我的临时修复程序要运行:

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

部署挂钩但我只能在envoyer的初始composer-install挂钩之后运行它,因为在release文件夹中没有编译文件。

现在没关系,但问题是我的部署任务正在运行两次composer install / update,这是不必要的开销。

有更好的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分: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