2010-10-08 2 views
10

Ho riscontrato un problema con una build di esperti in hudson. Questo problema sarebbe abbastanza facile da risolvere se potessi vedere l'output di Maven con il flag -X passato. Tuttavia non riesco a trovare un modo per farlo. Se si specifica "-X" nel campo "Obiettivi e opzioni" della sezione "Build" nella configurazione del lavoro, l'output della console appare esattamente come se non avessi affatto superato il flag "-X". La registrazione del debug va da qualche altra parte? O c'è qualche altro modo per passare il flag "-X"?Passaggio della bandiera di debug di Maven da Hudson

UPDATE:

Il motivo per cui questo non funziona è perché la build sta venendo a mancare durante le "POMs parsing" parte del processo di Hudson, prima che prende il via in realtà la vera costruzione Maven e passa in ogni params I specificare nel progetto. Quindi quello di cui ho veramente bisogno è un modo per ottenere una registrazione migliore durante la parte "Parsing POMs" di una build di esperti in hudson.

risposta

7

Ecco cosa dice nel testo della guida.

Specifica gli obiettivi da eseguire, ad esempio come "installazione pulita" o "deploy". Questo campo può anche accettare qualsiasi altra opzione da riga di comando a Maven, ad esempio "-e" o "-Davide.test.skip = true".

L'avrei messo anche lì.

L'aiuto Maven mi dà i seguenti due opzioni:

-X,--debug     Produce execution debug output 
-e,--errors     Produce execution error messages 

Può essere che si può provare il --debug o swtich -e

+1

Ho provato prima questo (e ho appena provato di nuovo) ma non ottengo alcun output aggiuntivo. Sembra che dovrebbe funzionare, ma non è così. Se eseguo la stessa build direttamente dalla riga di comando con -X o --debug, ottengo molte informazioni aggiuntive. Tuttavia, il problema specifico che sto cercando di risolvere si verifica solo quando la build viene eseguita da hudson. – kalak451

+0

Inserire un passaggio di build aggiuntivo (script batch o shell) ed eseguire il comando set. Confronta l'output con l'output di un comando set emesso manualmente dalla riga di comando. Questo può aiutare a vedere se c'è una differenza tra le variabili d'ambiente che Hudson vede e le variabili d'ambiente della riga di comando. La variabile percorso ha una grande influenza in alcuni casi. - Spero di avere ragione, supponendo che tu esegua il test della riga di comando con lo stesso account utente di Hudson. –

0

Ho esattamente lo stesso problema con Hudson 1.398 (Maven 2.0.10, jdk 1.6.0_07): la compilazione fallisce durante l'analisi dei file pom. Funziona localmente e quando viene avviato manualmente dallo spazio di lavoro di Hudson.

Quella build ha bisogno di una variabile di ambiente da impostare (per il percorso di un modulo), ma la variabile di ambiente non sembra essere propagata da Hudson a Maven. Quindi, come te, ho anche cercato di ottenere maggiori dettagli da Maven con l'opzione -X, ma non sembra essere propagato.

+0

Questa build funziona bene con Jenkins ... – jplandrain

5

In Jenkins, e presumo che questo sia vero anche per Hudson, gli argomenti della riga di comando possono essere passati a Maven nell'impostazione "obiettivi". Sono stato in grado di passare il parametro -X aggiungendolo all'inizio degli "obiettivi".

-X package install 

Jenkins apparentemente accoda ciecamente questa impostazione alla fine della riga di comando mvn.