feat: ship creator journey v2 and profile updates
This commit is contained in:
@@ -16,10 +16,45 @@ This will:
|
||||
|
||||
- build frontend assets locally with `npm run build`
|
||||
- rsync the application files to production
|
||||
- run `composer install --no-dev` on the server
|
||||
- run `php artisan migrate --force`
|
||||
- clear and rebuild Laravel caches
|
||||
- run `composer install --no-dev` on the server before entering maintenance mode
|
||||
- bring the app down only for the short critical section that runs `php artisan migrate --force`, `php artisan optimize:clear`, and `php artisan optimize`
|
||||
- bring the app back up immediately after that critical section finishes
|
||||
- warm the guest homepage cache with `php artisan homepage:warm-guest-cache`
|
||||
- warm the post trending cache with `php artisan posts:warm-trending`
|
||||
- restart queue workers with `php artisan queue:restart`
|
||||
- gracefully restart Horizon with `php artisan horizon:terminate`
|
||||
|
||||
This is now the low-downtime default path for normal code and feature deploys.
|
||||
|
||||
## Full upgrade
|
||||
|
||||
Use a full upgrade when the release also needs broad Meilisearch work or non-code service operations.
|
||||
|
||||
```bash
|
||||
bash sync.sh --full-upgrade
|
||||
```
|
||||
|
||||
Full-upgrade mode:
|
||||
|
||||
- keeps the normal deploy steps
|
||||
- forces a full Meilisearch import for all searchable models unless you explicitly pass `--skip-meilisearch`
|
||||
- allows optional remote upgrade hooks for service-level work
|
||||
|
||||
Example with service hooks:
|
||||
|
||||
```bash
|
||||
bash sync.sh --full-upgrade \
|
||||
--upgrade-pre-hook='sudo systemctl stop reverb' \
|
||||
--upgrade-post-hook='sudo systemctl restart reverb meilisearch'
|
||||
```
|
||||
|
||||
You can also provide those hooks through environment variables instead of CLI flags:
|
||||
|
||||
```bash
|
||||
FULL_UPGRADE_PRE_HOOK='sudo systemctl stop reverb' \
|
||||
FULL_UPGRADE_POST_HOOK='sudo systemctl restart reverb meilisearch' \
|
||||
bash sync.sh --full-upgrade
|
||||
```
|
||||
|
||||
## Deploy options
|
||||
|
||||
@@ -27,6 +62,7 @@ This will:
|
||||
bash sync.sh --skip-build
|
||||
bash sync.sh --skip-migrate
|
||||
bash sync.sh --no-maintenance
|
||||
bash sync.sh --mode=full-upgrade
|
||||
```
|
||||
|
||||
Environment overrides:
|
||||
@@ -42,6 +78,13 @@ LOCAL_BUILD_COMMAND='npm run build' bash sync.sh
|
||||
LOCAL_BUILD_COMMAND='pnpm build' bash sync.sh
|
||||
```
|
||||
|
||||
Upgrade hooks can also be supplied via environment variables:
|
||||
|
||||
```bash
|
||||
FULL_UPGRADE_PRE_HOOK='sudo systemctl stop reverb' bash sync.sh --full-upgrade
|
||||
FULL_UPGRADE_POST_HOOK='sudo systemctl restart reverb meilisearch' bash sync.sh --full-upgrade
|
||||
```
|
||||
|
||||
## Replace production database from local
|
||||
|
||||
This is intentionally separate from a normal deploy because it overwrites production data.
|
||||
@@ -94,5 +137,6 @@ LOCAL_MYSQLDUMP_COMMAND='mysqldump --host=10.0.0.5 --port=3306 --user=app dbname
|
||||
## Safety notes
|
||||
|
||||
- Normal deployments should use `bash sync.sh` without `--with-db`.
|
||||
- Use `bash sync.sh --full-upgrade` only when the release also includes Meilisearch-wide refreshes or remote service changes.
|
||||
- Use database replacement only for first-time bootstrap, staging, or an intentional full production reset.
|
||||
- This project should not use `php artisan route:cache` in deploy automation because the route file contains closure routes.
|
||||
- Route caching now runs through `php artisan optimize` in deploy automation; if that starts failing again, fix the route definitions instead of dropping route caching from deploy.
|
||||
Reference in New Issue
Block a user