Jenkins Installation : Différence entre versions
m |
(Aucune différence)
|
Version actuelle en date du 25 septembre 2018 à 12:19
Cet article présente l'installation de Jenkins sur une machine Ubuntu et en mode autonome. Afin de maîtriser l'installation, la version "war" est téléchargée pour une installation dans un Tomcat déjà configuré.
Sommaire
Votre avis
Current user rating: 55/100 (2 votes)
|
|
Installation initiale
Cette webapp est installée dans le Tomcat installé à savoir dans le répertoire /var/lib/tomcat6/webapps
.
Lors de l'utilisation de Jenkins, un répertoire .jenkins
est requis dans le répertoire home de l'utilisateur. L'emplacement du répertoire peut être configuré au moyen de variables d'environnement. Cependant l'emplacement par défaut est satisfaisant et donc non modifié.
Pour éviter tout problème au démarrage, ce répertoire est créé en avance. L'emplacement du répertoire home de l'utilisateur est modifié lors du démarrage de Tomcat sous Ubuntu pour être positionné sous /usr/share/tomcat6
#cd /usr/share/tomcat6 #sudo mkdir .jenkins #sudo chown tomcat6:tomcat6 .jenkins
Service Jenkins Runner
Publication sous Apache
Anomalies
SVN
Version Java
Module Java 9
Warning Resources Caching
Bug démarrage
Dans le cadre de cette installation et après différentes montées de version, Ubuntu 16.04 / Tomcat, le mesage d'erreur suivant était affiché dans la log d'exécution localhost.YYYY-MM-DD.log
de Tomcat, à l'emplacement /var/log/tomcat7/localhost.YYYY-MM-DD.log
.
mai 10, 2016 5:02:03 PM org.apache.catalina.core.ApplicationDispatcher invoke GRAVE: "Servlet.service()" pour la servlet Stapler a lancé une exception java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; at org.apache.catalina.connector.Request.getAttributeNames(Request.java:1045) at org.apache.catalina.connector.RequestFacade.getAttributeNames(RequestFacade.java:299) at org.apache.catalina.core.ApplicationHttpRequest$AttributeNamesEnumerator.<init>(ApplicationHttpRequest.java:923) at org.apache.catalina.core.ApplicationHttpRequest.getAttributeNames(ApplicationHttpRequest.java:252) at javax.servlet.ServletRequestWrapper.getAttributeNames(ServletRequestWrapper.java:85) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.exportVariables(DefaultScriptInvoker.java:106)
Le problème provient de la fonction keySet
sur la classe ConcurrentHashMap
appelée depuis org.apache.catalina.core.ApplicationContext.getInitParameterNames
. La signature utilisée est disponible avec la version 1.8 de Java, hors l'instance était sur une 1.7. Il est donc nécessaire d'installer la version 1.8.
Update
Avec l'installation de Jenkins en service, la procédure de mise à jour consiste à rélécharger la nouvelle version et de la référencer dans 'instance, comme décrit dans l'article suivant.
La version hebdomadaire 1.658
semble être la dernière de la version majeure 1
. Concernant la version 2
, il faut noter que cela nécessite Servlet 3.1, cf https://jenkins.io/2.0/. Donc si l'installation est réalisée sur un serveur Tomcat, il est nécessaire d'avoir la bonne version, et se référant à la matrice présentée sur le site officiel http://tomcat.apache.org/whichversion.html. La mise à jour de Tomcat en version 8, sur une machine Ubuntu, a été décrit sur ce wiki ici.
Depuis les versions 2.X, l'utilisateur est notifié directement sur l'interface lorsque des tâches d'administration doivent être réalisée, comme dans le cas d'une mise à jour disponible. Ceci permet de ne pas avoir à aller dans l'administration de l'instance.