3.4. Le répertoire de travail de Jenkins

Avant que nous installions Jenkins, toutefois, il y a certaines choses que vous devez savoir sur la façon dont Jenkins stocke ses données. En effet, peu importe où vous stockez le fichier WAR de Jenkins, Jenkins conserve toutes ses données importantes dans un répertoire spécial séparé appelé le répertoire de travail Jenkins. Ici, Jenkins stocke les informations sur la configuration de votre serveur de build, vos tâches de build, les artefacts de build, les comptes utilisateur, et d'autres informations utiles, ainsi que tous les plugins que vous avez installé. Le formart du répertoire de travail de Jenkins est rétro compatible entre les versions, donc vous pouvez librement mettre à jour ou ré-installer votre exécutable Jenkins sans affecter votre répertoire de travail Jenkins.

Il va sans dire que ce répertoire aura besoin de beaucoup d'espace disque.

Par défaut, le répertoire de travail Jenkins sera appelé .jenkins, et sera placé dans votre réprtoire de travail. Par exemple, si vous utilisez une machine sous Windows 7 et si votre nom d'utilisateur est “john”, vous trouverez le répertoire de travail Jenkins sous C:\Users\john\.jenkins . Sous Windows XP, ce serait C:\Documents and Settings\John\.jenkins . Sur une machine Linux, ce serait probablement sous /home/john/.jenkins . Et ainsi de suite.

Vous pouvez forcer Jenkins à utiliser un répertoire différent pour son répertoire de travail en définissant la variable d'environnement JENKINS_HOME . Vous pourriez avoir besoin de le faire sur une serveur de build pour vous conformer aux conventions du répertoire local ou pour rendre votre administrateur système heureux. Par exemple, si votre fichier WAR Jenkins est installé dans /usr/local/jenkins , et que le répertoire de travail Jenkins a besoin d'être dans le répertoire /data/jenkins , vous pourriez écrire un script de démarrage comme suit :

export
			JENKINS_BASE=/usr/local/jenkins
			export JENKINS_HOME=/var/jenkins-data
			java -jar ${JENKINS_BASE}/jenkins.war

Si vous utilisez Jenkins dans un conteneur Java EE comme Tomcat ou JBoss, vous pouvez configurer la webapp pour exposer ses propres variables d'environnement. Par exemple, si vous utilisez Tomcat, vous pouvez créer un fichier appelé jenkins.xml dans le répertoire $CATALINA_BASE/conf/localhost :

<Context
			docBase="../jenkins.war">
			<Environment name="JENKINS_HOME" type="java.lang.String"
			value="/data/jenkins" override="true"/>
			</Context>

Dans une vie antérieure, Jenkins était connu sous le nom de Hudson. Jenkins reste compatible avec les installations précédentes de Hudson, et le passage de Hudson à Jenkins peut-être aussi simple que de remplacer l'ancien fichier hudson.war par jenkins.war . Jenkins cherchera son répertoire de travail dans les places suivantes (par ordre de préséance):

  1. Une entrée d'environnement JNDI appelée JENKINS_HOME

  2. Une entrée d'environnement JNDI appelée HUDSON_HOME

  3. Une propriété système nommée JENKINS_HOME

  4. Une propriété système nommée HUDSON_HOME

  5. Une variable d'environnement nommée JENKINS_HOME

  6. Une variable d'environnement nommée HUDSON_HOME

  7. Le répertoire .hudson dans le répertoire de travail utilisateur, s'il existe déjà

  8. Le répertoire .jenkins dans le répertoire de travail utilisateur