Jenkins Installation

De EjnTricks

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é.


Hand-icon.png Votre avis

Current user rating: 55/100 (2 votes)

 You need to enable JavaScript to vote


System-Install-icon.png 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


Jenkins Runner.png Service Jenkins Runner

Configuration-icon.png Publication sous Apache

Bug-icon.png Anomalies

Multiples-icon.png SVN

Java format icon.png Version Java

Java format icon.png Module Java 9

Icon-memory.png Warning Resources Caching

Bug-icon.png 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 icon.png 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.


1.418 → 1.421 1.421 → 1.423 1.423 → 1.424 1.424 → 1.425 1.425 → 1.427
1.427 → 1.428 1.428 → 1.433 1.433 → 1.435 1.435 → 1.436 1.436 → 1.437
1.437 → 1.438 1.438 → 1.441 1.441 → 1.442 1.442 → 1.443 1.443 → 1.444
1.444 → 1.445 1.445 → 1.446 1.446 → 1.447 1.447 → 1.448 1.448 → 1.449
1.449 → 1.450 1.450 → 1.451 1.451 → 1.454 1.454 → 1.455 1.455 → 1.456
1.456 → 1.458 1.458 → 1.459 1.459 → 1.460 1.460 → 1.461 1.461 → 1.462
1.462 → 1.463 1.463 → 1.464 1.464 → 1.465 1.465 → 1.466 1.466 → 1.467
1.467 → 1.470 1.470 → 1.471 1.471 → 1.472 1.472 → 1.473 1.473 → 1.474
1.474 → 1.475 1.475 → 1.476 1.476 → 1.477 1.477 → 1.479 1.479 → 1.481
1.481 → 1.482 1.482 → 1.493 1.548 → 1.548 1.548 → 1.551 1.551 → 1.552
1.552 → 1.553 1.553 → 1.554 1.554 → 1.555 1.555 → 1.556 1.556 → 1.557
1.557 → 1.558 1.558 → 1.559 1.559 → 1.560 1.560 → 1.561 1.561 → 1.562
1.562 → 1.563 1.563 → 1.564 1.564 → 1.565 1.565 → 1.566 1.566 → 1.567
1.567 → 1.569 1.569 → 1.570 1.570 → 1.571 1.571 → 1.572 1.572 → 1.574
1.574 → 1.575 1.575 → 1.576 1.576 → 1.577 1.577 → 1.578 1.578 → 1.579
1.579 → 1.580 1.580 → 1.581 1.581 → 1.583 1.583 → 1.584 1.584 → 1.585
1.585 → 1.588 1.588 → 1.629 1.629 → 1.630 1.630 → 1.631 1.631 → 1.632
1.632 → 1.633 1.633 → 1.634 1.634 → 1.635 1.635 → 1.636 1.636 → 1.637
1.637 → 1.638 1.638 → 1.639 1.639 → 1.640 1.640 → 1.641 1.641 → 1.642
1.642 → 1.643 1.643 → 1.644 1.644 → 1.645 1.645 → 1.646 1.646 → 1.647
1.647 → 1.648 1.648 → 1.649 1.649 → 1.650 1.650 → 1.651 1.651 → 1.652
1.652 → 1.653 1.653 → 1.654 1.654 → 1.655 1.655 → 1.656 1.656 → 1.657
1.657 → 1.658


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.


1.658 → 2.0 2.0 → 2.1 2.1 → 2.2 2.2 → 2.3 2.3 → 2.4
2.4 → 2.5 2.5 → 2.6 2.6 → 2.7 2.7 → 2.8 2.8 → 2.9
2.9 → 2.10 2.10 → 2.11 2.11 → 2.12 2.12 → 2.13 2.13 → 2.14
2.14 → 2.15 2.15 → 2.16 2.16 → 2.17 2.17 → 2.18 2.18 → 2.19
2.19 → 2.20 2.20 → 2.21 2.21 → 2.22 2.22 → 2.23 2.23 → 2.24
2.24 → 2.25 2.25 → 2.26 2.26 → 2.27 2.27 → 2.28 2.28 → 2.29

Présente une régression importante.

2.29 → 2.30 2.30 → 2.31 2.31 → 2.32 2.32 → 2.33 2.33 → 2.34
2.34 → 2.35 2.35 → 2.36 2.36 → 2.37 2.37 → 2.38 2.38 → 2.39
2.39 → 2.40 2.40 → 2.41 2.41 → 2.42 2.42 → 2.43

Cette version comporte des failles importantes.

2.43 → 2.44
2.44 → 2.45 2.45 → 2.46 2.46 → 2.47 2.47 → 2.48 2.48 → 2.49
2.49 → 2.50 2.50 → 2.51 2.51 → 2.52 2.52 → 2.53 2.53 → 2.54
2.54 → 2.55 2.55 → 2.56

Cette version comporte des failles importantes.

2.56 → 2.57 2.57 → 2.58 2.58 → 2.59
2.59 → 2.60 2.60 → 2.61 2.61 → 2.62 2.62 → 2.63 2.63 → 2.64
2.64 → 2.65 2.65 → 2.66 2.66 → 2.67 2.67 → 2.68 2.68 → 2.69
2.69 → 2.70 2.70 → 2.71 2.71 → 2.72 2.72 → 2.73 2.73 → 2.74
2.74 → 2.75 2.75 → 2.76 2.76 → 2.77 2.77 → 2.78 2.78 → 2.79
2.79 → 2.80 2.80 → 2.81 2.81 → 2.82 2.82 → 2.83

Cette version comporte des failles importantes.

2.83 → 2.84
2.84 → 2.85 2.85 → 2.86 2.86 → 2.87 2.87 → 2.88 2.88 → 2.89
2.89 → 2.90 2.90 → 2.91 2.91 → 2.92 2.92 → 2.93
Cette version comporte des failles importantes.
2.93 → 2.94
Cette version comporte des failles importantes.
2.94 → 2.95 2.95 → 2.97 2.97 → 2.98 2.98 → 2.99 2.99 → 2.100
2.100 → 2.101 2.101 → 2.102 2.102 → 2.103 2.103 → 2.104 2.104 → 2.105
2.105 → 2.106
Cette version comporte des failles importantes.
2.106 → 2.107 2.107 → 2.108 2.108 → 2.109 2.109 → 2.110
2.110 → 2.111 2.111 → 2.112 2.112 → 2.113 2.113 → 2.114 2.114 → 2.115
Cette version comporte des failles importantes.
2.115 → 2.116 2.116 → 2.117 2.117 → 2.118 2.118 → 2.119 2.119 → 2.120
2.120 → 2.121 2.121 → 2.122 2.122 → 2.124
La version 2.123 n'est pas installée car elle présente un problème de paquet.
2.124 → 2.125 2.125 → 2.126
2.126 → 2.127 2.127 → 2.128 2.128 → 2.129 2.129 → 2.130 2.130 → 2.131
2.131 → 2.132
Cette version comporte des failles importantes.
2.132 → 2.133 2.133 → 2.134 2.134 → 2.135 2.135 → 2.136
2.136 → 2.137
Cette version comporte des failles importantes.
2.137 → 2.138