QA environments
Deployment hooks
Back up current release
bash
set -e
cd {{ project }}/current
php artisan backup:run --isolatedClone New Release
Install Composer Dependencies
Symlink directories
bash
set -e
cd {{ release }}
php artisan storage:linkPrepare Sentry release
bash
set -e
cd {{ release }}
# Write git hash to file for Sentry
# BEFORE we cache our configuration
echo "{{ sha }}" > {{ release }}/.commit_hashInstall front-end packages
bash
set -e
cd {{ release }}
# Verify the used versions
node --version
npm --version
npm ciBuild front-end assets
bash
set -e
cd {{ release }}
# Verify the used versions
node --version
npm --version
npm run productionPause Horizon
bash
set -e
cd {{ release }}
php artisan horizon:pauseMigrate database structure
bash
set -e
cd {{ release }}
php artisan migrate --forceClear application cache
bash
set -e
cd {{ release }}
php artisan config:clear
php artisan route:clear
php artisan event:clear
php artisan view:clear
php artisan icons:clear
php artisan modules:clear
php artisan purifier:clearActivate new release
Cache application
set -e
cd {{ release }}
php artisan config:cache
php artisan route:cache
php artisan event:cache
php artisan view:cache
php artisan icons:cache
php artisan modules:cache
php artisan data:cache-structuresRestart Horizon
set -e
cd {{ release }}
php artisan horizon:purge
php artisan horizon:terminateProcess pending operations
set -e
cd {{ release }}
php artisan operations:process --force --isolatedPurge Pennant cache
set -e
cd {{ release }}
php artisan pennant:purgeSync scheduled jobs
bash
set -e
cd {{ release }}
php artisan schedule-monitor:syncPrepare search index
set -e
cd {{ release }}
php artisan search:indexTag Sentry release
set -e
cd {{ release }}
curl https://sentry.io/api/hooks/release/builtin/XXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ \
--silent --show-error \
-X POST \
-H 'Content-Type: application/json' \
-d '{"version": "{{ sha }}"}'