Domanda

Qualcuno ha provato quella funzione e ha ricevuto un feedback? Oppure qualcuno conosce alcuni esempi utili da cercare?

È stato utile?

Soluzione

Ho provato questa funzione alcuni mesi fa, ma non la uso più (solo perché non ne ho bisogno, non perché non è una buona funzionalità).

Fondamentalmente, si definisce n Asse, ogni asse è una proprietà con diversi valori.

Facciamo un esempio: definisci l'Asse "JDK", con valore possibile "1.4", "1.5", "1.6" e definisci un'altra proprietà "database", dove i valori possibili sono "oracle", "mysql".

Quindi, Hudson lancerà la tua build 6 volte:

  • con JDK 1.4, con il database delle proprietà = oracle (ovvero la JVM viene avviata con -Ddatabase = oracle)
  • con JDK 1.5, con il database delle proprietà = oracle
  • con JDK 1.6, con il database delle proprietà = oracle
  • con JDK 1.4, con il database delle proprietà = mysql
  • con JDK 1.5, con il database delle proprietà = mysql
  • con JDK 1.6, con il database delle proprietà = mysql

Quindi, una volta terminato tutto, sarai in grado di vedere i risultati per ogni iterazione.

Questa funzione può essere davvero utile quando devi testare la tua applicazione in diversi ambienti (nel mio esempio, con diverse versioni di JDK o database).

Si noti che, tranne per l'asse JDK, è necessario gestire da soli la proprietà fornita come voce da Hudson. Nel mio esempio, l'applicazione deve tenere conto del "database" proprietà stessa. Alla fine, una buona idea è quella di utilizzare questa proprietà per abilitare un particolare profilo nella configurazione di Maven2, se il progetto è stato modificato (vedere qui per maggiori dettagli a riguardo).

Spero che le mie spiegazioni siano abbastanza chiare :)

Altri suggerimenti

Le build di Matrix hanno una serie di problemi:

  • In linea di massima incompatibili con i plug-in: stanno migliorando, ma è necessario tenersi aggiornati.
  • Manufatti - molto più difficile da sottrarre - Gli URl sono un po 'più imbarazzanti, trovarli sul FS (che dovresti evitare comunque) ora è un incubo.

È un peccato, perché il concetto è molto buono e molto utile dove funziona.


Modifica

  • Impossibilità di iniziare singoli punti.

Il nostro solito modo per aggirare questo è di avere build parametrizzate impostate per l'esecuzione simultanea - il che comporta problemi propri, ma ci salva avendo molti lavori con lo stesso codice e costanti diverse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top