似乎从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,这是不必要的开销。
有更好的方法可以做到这一点吗?
答案 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