2011-12-15 10 views
13

Possiedo uno Jenkins Slave (un PC Windows) con la variabile di ambiente JAVA_HOME. Ho aggiornato la versione di Java sullo Slave, quindi ho anche aggiornato la variabile di ambiente.Jenkins Slave Environment Variable Refresh

Quando guardo le proprietà di sistema di questo slave tramite l'interfaccia web Jenkins, la proprietà JAVA_HOME viene riportata come vecchia.

In esecuzione echo %PATH% sul PC Windows mostra i valori corretti. L'esecuzione di println System.getenv("PATH") sulla console di script Nodo Jenkins per lo slave mostra il vecchio valore JAVA_HOME.

Ho provato a eliminare e aggiungere di nuovo lo slave e riavviare il server Jenkins. Ancora il vecchio valore non è aggiornato.

Qualche idea?

risposta

7

Hudson/Jenkins non utilizza le variabili di ambiente slave poiché supporta più versioni java in modo da configurare le variabili dell'ambiente java nella GUI.

Quello che devi fare è andare su Gestisci Hudson/Jenkins quindi scegliere Gestisci nodi. Scegli il nodo che desideri configurare dall'elenco e quindi scegli Configura. In basso c'è una sezione Proprietà del nodo. Seleziona la casella di controllo Posizioni utensile. Fai clic su Aggiungi, quindi seleziona il tuo JDK nell'elenco a discesa e aggiungi il nuovo percorso.

+0

Aggiungere il percorso al nodo piuttosto che l'ambiente dello schiavo ha fatto il trucco, grazie. – C0deAttack

+7

La domanda rimane senza risposta. Ho bisogno che il mio schiavo aggiorni in qualche modo la variabile PATH "al volo". –

+0

Anche interessato ad alcune soluzioni non di hacking ... –

1

Riavviare lo slave, questo ha risolto il problema sulla mia configurazione.

8

Si tratta di un bug nel Jenkins: https://issues.jenkins-ci.org/browse/JENKINS-27739

3 modi per risolvere (ho personalmente confermato ciascuno):

  1. Aggiornamento Jenkins a> = 1.617 (consigliata)
  2. Restart Jenkins maestro
  3. Elimina slave Jenkins, quindi aggiungilo nuovamente
+1

grazie per averci segnalato il bug report. Aggiornamento a> = 1.617 risolve questo – pHiL

+1

questo ha funzionato per me, grazie :) – anand

+0

Non c'è un modo per aggiungere/aggiornare le variabili ENV nella configurazione dello slave usando Jenkins Rest/API? –