Sto lavorando con Docker per eseguire i miei test di integrazione, funziona molto bene:
- avvio i miei contenitori docker (uno con il mio server e uno con il database)
- Eseguo l'IT utilizzando arquillian contro questi contenitori
Ora ci stiamo spostando su AWS e vorremmo utilizzare Amazon RedShift per alcune analisi. Il problema è che RedShift è disponibile solo in AWS, quindi non posso creare un'immagine RedShift per Docker.
Mi piacerebbe avere un modo in cui molti sviluppatori + server CI possono eseguire test in parallelo (senza influenzare i reciproci risultati).
Ho cercato qualsiasi riferimento su come le persone lo fanno, ma non ho trovato nulla tranne per questo post di Serenytics , che non è esattamente quello di cui ho bisogno.
Le possibilità che vedo sono:
- Utilizza uno schema per ogni sviluppatore / server CI
- Usa un'immagine Docker di Postgres per gli sviluppatori e un vero RedShift per il Server CI.
Informazioni sul numero 1: verrebbe eseguito contro il DB reale in tutte le istanze, ma avremmo bisogno di avere una configurazione "privata" per ogni sviluppatore e avremmo più schemi nel database solo per il test.
Numero 2: non corriamo contro il motore DB reale, quindi forse non tutto sarebbe supportato da Postgres. Potrebbe causare problemi nel prossimo futuro.
Immagino di non essere il primo con questo problema. Come posso configurare i miei test così tante persone possono eseguire i test in parallelo e non inquina il mio database?