ci: Add migration step before deploy

Migrations now run automatically after Docker builds but before K8s deploy.
Requires DATABASE_URL secret to be configured in Woodpecker.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Kelly
2025-12-09 11:09:49 -07:00
parent 91efd1d03d
commit 5119d5ccf9

View File

@@ -138,7 +138,25 @@ steps:
event: push event: push
# =========================================== # ===========================================
# STAGE 3: Deploy (after all Docker builds) # STAGE 3: Run Migrations (before deploy)
# ===========================================
run-migrations:
image: node:20
environment:
DATABASE_URL:
from_secret: database_url
commands:
- cd backend
- npm ci --prefer-offline
- npx tsx src/db/migrate.ts
depends_on:
- docker-backend
when:
branch: master
event: push
# ===========================================
# STAGE 4: Deploy (after migrations)
# =========================================== # ===========================================
deploy: deploy:
image: bitnami/kubectl:latest image: bitnami/kubectl:latest
@@ -157,7 +175,7 @@ steps:
- kubectl rollout status deployment/scraper -n dispensary-scraper --timeout=300s - kubectl rollout status deployment/scraper -n dispensary-scraper --timeout=300s
- kubectl rollout status deployment/cannaiq-frontend -n dispensary-scraper --timeout=120s - kubectl rollout status deployment/cannaiq-frontend -n dispensary-scraper --timeout=120s
depends_on: depends_on:
- docker-backend - run-migrations
- docker-cannaiq - docker-cannaiq
- docker-findadispo - docker-findadispo
- docker-findagram - docker-findagram