J'utilise Jenkins pour automatiser les builds d'applications à l'aide de Maven sous Linux.
Où dois-je définir des variables d'environnement telles que $JAVA_HOME
et ajouter des éléments à $PATH
afin qu'ils soient disponibles pour Jenkins ?
J'ai essayé quelques endroits différents et je n'ai pas réussi. Je ne suis pas certain du type de shell utilisé par Jenkins, qu'il s'agisse d'un login/non-login, interactif ou non interactif.
Réponse acceptée :
C'est le scénario parfait pour une configuration globale de l'outil. Depuis la page d'accueil de Jenkins, cliquez sur Gérer Jenkins -> Configuration globale de l'outil . Si vous avez une installation par défaut, cette page vous permettra d'ajouter plusieurs configurations pour installer Maven sur vos serveurs de build.
Une fois que vous avez configuré les outils, vous pouvez les utiliser dans vos travaux en ajoutant des étapes de construction "Invoke Top Level Maven Targets". Si vous utilisez des esclaves/nœuds spécifiques pour chaque travail, vous pouvez choisir le Maven qui doit être installé sur chaque serveur. Ensuite, lorsque les travaux s'exécutent, Jenkins gère automatiquement l'installation pour vous.
Spécifiquement pour les pipelines, il existe le plugin Pipeline Maven Integration. Je ne l'ai pas utilisé, mais d'après la documentation, il semble qu'il devrait être capable de faire ce que vous demandez :
Fournit l'intégration Maven avec le plug-in Pipeline en utilisant l'étape withMaven
, qui configure un environnement maven à utiliser dans une tâche de pipeline
en appelant sh mvn ou bat mvn.
Et cet article de blog, Declarative Pipeline for Maven Projects, donne un bon exemple de configuration de Jenkins pour exécuter un pipeline avec Maven.