QA environments
Manual deployments
Deployment is done manually via the Envoyer deploy button.
Users
Local and test environments have several easy-to-use example users you can log in with:
- superadmin@example.com
- admin@example.com
- contentmanager@example.com
- hrmanager@example.com
- projectmanager@example.com
- demo@example.com
- provideradmin@example.com
- storeadmin@example.com
- leadresearcher@example.com
- medicalresearcher@example.com
- employee@example.com
- user@example.com
- female@example.com (MyClic participant)
- male@example.com (MyClic participant)
The password of each is secretsecret
.
Envoyer deployment hooks
Clone New Release
Install Composer Dependencies
Symlink directories
bash
set -e
cd {{ release }}
php artisan storage:link
Prepare Sentry release
bash
set -e
cd {{ release }}
# Write git hash to file for Sentry
# BEFORE we cache our configuration
echo "{{ sha }}" > {{ release }}/.commit_hash
Install front-end packages
bash
set -e
cd {{ release }}
# Verify the used versions
node --version
npm --version
npm ci
Build front-end assets
bash
set -e
cd {{ release }}
# Verify the used versions
node --version
npm --version
npm run production
Pause Horizon
bash
set -e
cd {{ release }}
php artisan horizon:pause
Migrate and seed
bash
set -e
cd {{ release }}
php artisan snapshot:load seeded --force --no-interaction
php artisan migrate --force --no-interaction
php artisan db:seed --class=MediaSeeder --force --no-interaction
Activate new release
Prepare application cache
set -e
cd {{ release }}
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan event:clear
php artisan view:clear
php artisan modules:clear
php artisan purifier:clear
# Additional steps to ensure we start with a fresh environment
php artisan cache:clear redis:session
php artisan config:cache
php artisan route:cache
php artisan event:cache
php artisan view:cache
php artisan modules:cache
Restart Horizon
set -e
cd {{ release }}
# Don't purge rogue Horizon process on a shared test server
# as it will try to terminate all Horizon processes
php artisan horizon:terminate
Process pending operations
set -e
cd {{ release }}
php artisan operations:process --force --isolated
Purge Laravel Pennant cache
set -e
cd {{ release }}
php artisan pennant:purge
Prepare search index
set -e
cd {{ release }}
php artisan search:index
Tag 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 }}"}'