web-dev-qa-db-fra.com

Activer HTTPS dans Jenkins?

J'ai un réseau privé avec une adresse IP locale ..__ Je veux activer le protocole HTTPS pour mon serveur Jenkins, qui est une adresse IP statique W.X.Y.Z: 8080.

Jenkins version 2.9
Java version "1.7.0_111"
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-0ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)

J'ai essayé de configurer dans le fichier/etc/defaults/jenkins les arguments suivants

HTTP_PORT=-1
JENKINS_ARGS="--webroot=/var/cache/$NAME/war -DsessionTimeout=1 --httpPort=$HTTP_PORT  --httpsPort=8081"

Mais je reçois les erreurs suivantes. S'il vous plaît aider

Running from: /usr/share/jenkins/jenkins.war
webroot: $user.home/.jenkins
Oct 19, 2016 2:18:48 PM org.Eclipse.jetty.util.log.JavaUtilLog info
INFO: Logging initialized @811ms
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
INFO: Beginning extraction from war file
Oct 19, 2016 2:18:48 PM org.Eclipse.jetty.util.log.JavaUtilLog warn
WARNING: Empty contextPath
Using one-time self-signed certificate
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
INFO: Winstone shutdown successfully
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
SEVERE: Container startup failed
Java.io.IOException: Failed to start a listener
winstone.HttpsConnectorFactory
at winstone.Launcher.spawnListener(Launcher.Java:207)
at winstone.Launcher.<init>(Launcher.Java:149)
at winstone.Launcher.main(Launcher.Java:352)`enter code here`
at Sun.reflect.NativeMethodAccessorImpl.invoke0        

J'ai trouvé des problèmes similaires résolus ici mais cela n'a pas fonctionné pour moi 

EDIT1: Les modifications suivantes ont été essayées dans le fichier/etc/defaults/jenkins et ont redémarré jenkins mais cela n’a pas marché.

HTTP_PORT=-1
JENKINS_ARGS="--webroot=/var/cache/$NAME/war -DsessionTimeout=1 --httpPort=$HTTP_PORT   --httpsPort=8443 --httpsCertificate=cert.pem --httpsPrivateKey=key.pem

https://issues.jenkins-ci.org/browse/JENKINS-34463

https://issues.jenkins-ci.org/browse/JENKINS-25333

4
Triangle

Vous devrez passer un paramètre pour le fichier de clés ou le fichier .pem de la clé privée.

https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins

3
Daniel Scott

C'est assez intéressant. Si vous avez votre nouvelle instance de jenkins qui est une copie de votre ancienne instance de jenkins. Copiez les cacerts qui seront situés dans D:\Jenkins\jre\lib\security (Exemple de structure de répertoires) dans le dossier jre/secrets de votre nouvelle instance jenkins existante. Dans jenkins.xml, modifiez les arguments en conséquence . Voici l'exemple - Xrs -Xmx256m -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle -jar "% BASE%\jenkins.war" --httpPort = -1 --httpsPort = 8443 --httpsKeyStore = "% BASE%\secrets\keystore" --httpsKeyStorePassword = your.password.here

0
MS_22