Dans Jenkins, vous gérez pratiquement tous les aspects de la configuration du système dans l'écran Administrer Jenkins (voir Figure 4.1, “Configurer son installation Jenkins dans l'écran Administrer Jenkins”). Vous pouvez aussi atteindre cet écran directement depuis n'importe où dans l'application en tapant “manage” dans la boîte de recherche Jenkins. Cet écran change en fonction des plugins que vous installez, ne soyez donc pas surpris si vous voyez plus de choses que ce que nous montrons ici.
Cet écran vous permet de configurer différents aspects de votre serveur Jenkins. Chaque lien sur cette page vous amène à un écran de configuration dédié, où vous pouvez gérer différentes parties du serveur Jenkins. Quelques-unes des options les plus intéressantes sont discutées ici :
C'est là que vous gérez les chemins vers les différents outils que vous utilisez dans vos builds, comme les JDKs, les versions de Ant et Maven, les options de sécurité, les serveurs d'email, et autres détails de configuration de niveau système. Plusieurs des plugins que vous installerez nécessiteront aussi d'être configurés ici — Jenkins ajoutera les champs dynamiquement à l'installation des plugins.
Comme nous l'avons vu dans le précédent chapitre,
Jenkins stocke tous les détails de configuration du système et des
tâches de build dans des fichiers XML localisés dans le
répertoire de travail de Jenkins (voir Section 3.4, “Le répertoire de travail de Jenkins”). Il stocke aussi tout
l'historique des builds dans le même répertoire. Si vous
migrez des tâches de build d'une instance Jenkins à une
autre, ou archivez de vieilles tâches de build, vous aurez
besoin d'ajouter ou d'enlever les différents répertoires de tâches
de build du répertoire builds
de Jenkins. Vous
n'avez pas besoin de désactiver Jenkins pour faire cela — vous
pouvez simplement utiliser l'option “Recharger la configuration à
partir du disque” pour recharger directement la configuration
système de Jenkins et des tâches de build. Ce processus peut
être un peu lent s'il y a beaucoup d'historique de build,
pendant que Jenkins charge non seulement la configuration des
builds mais aussi les données de l'historique.
L'une des meilleures fonctionnalités de Jenkins est son architecture extensible. Il y a un large écosystème de plugins open source tierces disponibles, vous permettant d'ajouter des fonctionnalités à votre serveur de build, du support des différents outils de gestion de sources comme Git, Mercurial ou ClearCase, aux métriques de qualité du code et de couverture de code. Nous regarderons plusieurs des plugins les plus populaires et utiles à travers ce livre. Les plugins peuvent être installés, mis à jour et enlevés via l'écran Gérer les Plugins. Notez qu'enlever des plugins nécessite un certain soin, parce que cela peut parfois affecter la stabilité de votre instance Jenkins — nous verrons cela plus en détails dans Section 13.6, “Migrer les tâches de build”.
Cet écran affiche une liste de toutes les propriétés système Java et les variables d'environnement système. Ici, vous pouvez vérifier dans quelle version exacte de Java Jenkins est en train de fonctionner, avec quel utilisateur, etc. Vous pouvez aussi vérifier que Jenkins utilise le bon paramétrage des variables d'environnement. Cet écran sert principalement pour le dépannage. Il vous permet de vous assurer que votre serveur fonctionne avec les propriétés système et les variables d'environnement que vous pensez.
L'écran Log système est un moyen pratique de voir les fichiers de log Jenkins en temps réel. Encore une fois, ceci sert principalement au dépannage.
Vous pouvez aussi souscrire aux flux RSS pour différents niveaux de messages de logs. Par exemple, en tant qu'administrateur Jenkins, il peut être une bonne idée de souscrire à tous les messages de log de niveau ERROR et WARNING.
Jenkins garde la trace du niveau d'activité de votre serveur en fonction du nombre de builds concurrents et de la longueur de la file d'attente de build (ce qui vous donne une idée de la durée pendant laquelle vos builds doivent attendre avant d'être exécutés). Ces statistiques peuvent vous aider à savoir si vous avez besoin d'ajouter de la capacité additionnelle ou des nœuds supplémentaires à votre infrastructure.
Cet écran vous permet d'exécuter des scripts Groovy sur le serveur. C'est utile pour le dépannage avancé : cela requiert en effet une connaissance profonde de l'architecture interne de Jenkins. Cet écran est donc principalement utile pour les développeurs de plugins et consorts.
Jenkins gère aussi bien les builds parallèles que distribués. Dans cet écran, vous pouvez configurer le nombre de builds que vous voulez. Jenkins les exécute simultanément, et, si vous utilisez des builds distribués, configure les nœuds de build. Un nœud de build est une autre machine que Jenkins peut utiliser pour exécuter ses builds. Nous regarderons comment configurer les builds distribués en détail dans Chapter 11, Builds distribués.
Si vous avez besoin d'éteindre Jenkins, ou le serveur sur lequel il fonctionne, c'est mieux de ne pas le faire lorsqu'un build est en cours. Pour fermer Jenkins proprement, vous pouvez utiliser le lien Préparer à la fermeture, qui empêche le démarrage de tout nouveau build. Finalement, lorsque tous les builds en cours seront terminés, vous pourrez éteindre Jenkins proprement.
Nous reviendrons sur certaines de ces fonctionnalités en détails plus loin dans le livre. Dans les sections suivantes, nous nous concentrerons sur comment configurer les paramètres systèmes les plus importants de Jenkins .