2013-06-16 20 views
5

che devo fare quanto segue nella fase di pre-integrazione-test:Maven: Intercala molteplici esecuzioni di un plugin con altre esecuzioni di plugin in una singola fase

  1. sql-maven-plugin: eseguire
  2. pontile-maven-plugin: implementare la guerra
  3. sql-maven-plugin: eseguire

passaggi 1 e 3 hanno diverse configurazioni. Ho provato a definire 1 e 3 come elementi di plugin separati, ma credo che Maven li unisca semplicemente in una definizione di plugin, risultante in un ordine di esecuzione 1, 3, 2.

Ho bisogno di un modo per eseguirli nell'ordine definito sopra.

+0

Non capisco perché vorresti farlo. Non puoi spostare il passaggio 3 nella fase di test di integrazione? –

+0

Nel passaggio 2, l'applicazione esegue le migrazioni del database. Solo dopo posso eseguire 3, che carica i dati di test nel database. –

+0

Quindi, hai provato a spostare il secondo plug-in sql nella fase di test di integrazione?Se è il primo plug-in dichiarato che è legato a quella fase, sarà il primo a essere eseguito. Questo dovrebbe risolvere il tuo problema. –

risposta

0

breve preavviso su processo di compilazione Maven:

  1. Si può descrivere ogni plugin solo una volta in pom.xml, descrizioni duplicati è una cattiva pratica (incline errore).
  2. È possibile descrivere più esecuzioni separate per ciascun plug-in.
  3. Le esecuzioni del singolo plug-in (associato alla singola fase) verranno eseguite in una sequenza, indipendentemente dalle altre definizioni di plugin.
  4. Le esecuzioni dei diversi plug-in (associate alla fase singola) verranno eseguite in una sequenza così come sono descritte in pom.xml.

pensando a questo affermazioni avete un modo semplice - bind (1) e (3) per diverse fasi.

suggerisco di associare

  • (1) e (2) per 'pre-integrazione-test' fase e
  • (3) per 'integrazione-test' fase

Risolverà il problema della sequenza. Vedi anche l'elenco completo delle fasi in maven docs per trovare le fasi corrette per il tuo caso.

E si dispone di in modo alternativo, se si esegue questo scenario solo dal server CI. È possibile configurare lavoro composto per esplicite multiple-steps costruiscono tramite profili separati in pom.xml:

  • file binari della build
  • schema di migrazione
  • implementare app
  • dati di test di carico

E ' è molto più complesso e soggetto a errori, quindi preferisco la prima.

Problemi correlati