Cum să configurezi Flyway Teams în CI/CD
In this tutorial, you'll learn about Cum să configurezi Flyway Teams în CI/CD. We cover key concepts, practical examples, and best practices.
Vei învăța cum să integrezi Flyway Teams în pipeline-urile CI/CD pentru a rula migrări de bază de date automate, cu validare și rollback în medii de testare și staging.
Problema
În CI/CD, migrările de bază de date trebuie să fie automate, sigure și repeatabile. O migrare eșuată poate bloca întregul pipeline. Flyway Teams oferă validare, undo și callback-uri care fac migrările în CI/CD sigure și previzibile.
Modul Greșit
# .github/workflows/deploy.yml
- name: Run migrations
run: flyway migrate
# Fără validare, fără gestionare a erorilor, fără rollback
# Dacă migrarea eșuează — nu există plan de recuperare
flyway migrate # Migration failed!
Modul Corect
# .github/workflows/deploy.yml
name: Database Migration
on: [push]
jobs:
migrate:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: test_db
POSTGRES_PASSWORD: test
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Validate migrations
run: |
flyway -url=jdbc:postgresql://localhost:5432/test_db \
-user=postgres -password=test \
-locations=filesystem:db/migration \
validate
- name: Run migrations
run: |
flyway -url=jdbc:postgresql://localhost:5432/test_db \
-user=postgres -password=test \
-locations=filesystem:db/migration \
migrate
- name: Notify on failure
if: failure()
run: |
echo "Migration failed — check flyway_schema_history"
Output CI:
Validate: Successfully validated 5 migrations
Migrate: Successfully applied 1 migration (execution time 00:00.123s)
Pas cu Pas
1. Creează un workflow de validare
- name: Check migration integrity
run: flyway validate -configFiles=flyway-ci.conf
2. Rulează migrările cu rollback automat
flyway migrate 2>&1 || {
echo "Migration failed — running undo"
flyway undo
exit 1
}
3. Adaugă callback-uri pentru notificări
# În caz de eroare, trimite notificare
if [ $? -ne 0 ]; then
curl -X POST https://hooks.slack.com/... \
-d '{"text":"Migration failed in CI"}'
fi
Sfaturi de Prevenție
- Rulează
flyway validateînainte deflyway migrateîn CI - Folosește containere izolate pentru testarea migrărilor
- Stochează parolele în secrets, nu în cod
- Activează
flyway.cleanDisabled=trueîn producție
Greșeli Comune
- Validare omisă înainte de migrare — migrări cu checksum incorect ajung în producție
- Fără service de bază de date în CI — pipeline-ul eșuează pentru că nu există bază de date disponibilă
- Scripturi care depind de stare anterioară — migrările trebuie să fie independente și idempotente
- Credentiale hardcodate — expun parolele în log-urile CI
Întrebări Frecvente
Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu Flyway Teams pentru CI/CD sigur.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro