Sto usando Jenkins per automatizzare le build di applicazioni usando Maven su Linux.
Dove dovrei impostare variabili di ambiente come $JAVA_HOME
e aggiungi elementi a $PATH
in modo che siano disponibili per Jenkins?
Ho provato alcuni posti diversi e non ho avuto successo. Non sono sicuro del tipo di shell utilizzata da Jenkins, se è di accesso/non accesso, interattiva o non interattiva.
Risposta accettata:
Questo è lo scenario perfetto per una configurazione utensile globale. Dalla home page di Jenkins, fare clic su Gestisci Jenkins -> Configurazione strumento globale . Se hai un'installazione predefinita, questa pagina ti consentirà di aggiungere più configurazioni per l'installazione di Maven sui tuoi server di build.
Dopo aver configurato gli strumenti, puoi utilizzarli nei tuoi lavori aggiungendo i passaggi di costruzione "Invoca obiettivi Maven di livello superiore". Se stai utilizzando slave/nodi specifici per ogni lavoro, puoi scegliere il Maven che dovrebbe essere installato su ciascun server. Quindi, quando i lavori verranno eseguiti, Jenkins gestirà automaticamente l'installazione.
In particolare per le pipeline, c'è il plug-in Pipeline Maven Integration. Non l'ho usato ma dai documenti sembra che dovrebbe essere in grado di fare ciò che stai chiedendo:
Fornisce l'integrazione Maven con Pipeline Plugin utilizzando il passaggio withMaven
, che configura un ambiente Maven da utilizzare all'interno di un processo pipeline
chiamando sh mvn o bat mvn.
E questo post sul blog, Declarative Pipeline for Maven Projects, fornisce un buon esempio di configurazione di Jenkins per eseguire una pipeline con Maven.