Strategia migliore per la creazione / aggiornamento del database di build CI

5

Mi chiedevo quale sia la pratica migliore per quanto riguarda i database per i test di integrazione sul server di build. Se c'è una buona pratica.

Attualmente, la nostra build creerà un nuovo database da zero per ogni build. Quindi vengono eseguiti test di integrazione.

Tuttavia, poiché il progetto ha una lunga storia e continua a crescere, aumenta la quantità di script di migrazione (utilizzando le migrazioni First Code EF). Questo sta iniziando a rallentare la build.

Una soluzione sarebbe non ricreare più il database per ogni build. Un possibile svantaggio è che potresti dover manualmente ripristinare alcune modifiche che sono state inviate al repository (Git) ma che sono state ritenute errate in seguito (o addirittura fallire la compilazione).

Un'altra soluzione è ripristinare un backup di un database in un punto noto ed eseguire ogni volta successive migrazioni. Tutto ciò che dobbiamo fare è aggiornare il punto di riferimento regolarmente. Ma questo, ancora, è un lavoro manuale.

In realtà, questo è il modo in cui lo stiamo facendo attualmente, ma mi chiedevo se esistessero strategie alternative o migliori.

    
posta Peter 27.10.2016 - 10:18
fonte

1 risposta

2

Prendi la versione corrente del database come nuovo punto di partenza. Quando viene modificato in seguito, l'installazione di prova eseguirà gli script di migrazione solo da quel punto di partenza. Ciò farà risparmiare un po 'di tempo senza richiedere troppi passaggi manuali.

In alternativa, i test che richiedono molto tempo possono essere eseguiti solo con build notturni. Il feedback per questi test sarà lento, ma la build e il test "normali" rimarranno velocemente. Consulta le statistiche dei test falliti per scoprire cosa è più importante.

    
risposta data 28.10.2016 - 10:36
fonte