48 votes

Comment puis-je configurer Jenkins CI pour utiliser https sous Windows?

Nous avons récemment mis en place un serveur Jenkins CI sous Windows. Maintenant, pour pouvoir utiliser l'authentification Active Directory, j'aimerais pouvoir utiliser l'accès https (SSL / TLS). Compte tenu de cette configuration, quelle est la manière recommandée de procéder?

38voto

aflat Points 2543

Accédez à votre %jenkins_home comme pointant% et de modifier la jenkins.xml. Où vous voyez --httpPort=8080 changer en --httpPort=-1 --httpsPort=8080 vous pouvez faire les ports tout ce que vous voulez, bien sûr, mais dans mes tests (il y a un moment, elle peut avoir changé) si vous ne gardez pas d' --httpPort=<something> alors Jenkins utilise toujours 8080. Donc, si vous changez simplement de --httpPort=8080 de --httpsPort=8080, le port 8080 continuent d'utiliser le protocole http.

Aussi, si vous souhaitez utiliser votre propre certificat, il y a des instructions au bas de cette page.

http://wiki.jenkins-ci.org/display/JENKINS/Starting+et+Accès+Jenkins

21voto

Gabe Points 101

Exécuter:

keytool -genkey -keyalg RSA -keystore Jenkins.jks -alias [Name of website] -keysize 2048

Répondre aux questions en se souvenant que, First and last name est l'URL du site et doivent être en minuscules. Exemple:

build.jenkins-ci.org

State or province ne peut être abrégé.

Exécuter:

keytool -certreq -Keystore jenkins.jks -alias [Name of website] -file jenkins.csr -keysize 2048

Envoyez Jenkins.csr de votre cert fournisseur et demande un fichier PKCS#7 cert qui a un .p7b extension et commence avec:

-----BEGIN PKCS #7 SIGNED DATA-----

Remarque: le Procès de certificats ne sont pas normalement disponibles en .p7b format, mais vous pouvez être en mesure de combiner l' .cer fichiers à l'aide de cet outil, qui ont rapporté le succès, mais n'a pas fonctionné pour moi. (https://www.sslshopper.com/ssl-converter.html)

Exécuter:

keytool -import -trustcacerts -file jenkins.p7b -keystore jenkins.jks -alias [Name of website]

Modifier l' arguments noeud Jenkins.xml à la suite de prespectivly.

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=-1 --httpsPort=443 --httpsKeyStore="%BASE%\Cert\Jenkins.jks" --httpsKeyStorePassword=[Cert password from step 1]</arguments>

Dépannage:

  • Si Jenkins n'est pas commencer à lire les dernières lignes de Jenkins.err.log.
  • Si Jenkins n'a pas pu démarrer en raison d'un problème avec Jenkins.xml, remplacer l' (bizarre Windows trait d'union) caractères avec un effectif - (ASCII trait d'union).
  • Si Jenkins démarre mais le cert indique toujours aussi mauvais, assurez-vous que l' [Name of website] est l'URL sans le https: exemple: https://build.jenkins-ci.org serait build.jenkins-ci.org.
  • Si ce n'est pas la question inspecter l' .jks le fichier à l'aide de KeyStore Explorer. Le Certificat "Hiérarchie" doivent montrer que chaque cert est imbriqué dans un autre; C'est pour illustrer le cert de la chaîne. Si elle montre l'certs uns à côté des autres, alors il n'est pas correct.
  • Si il ne démarre pas sur un port spécifique, 443 par exemple, puis vérifier qu'IIS ou d'une autre application n'est pas en train d'utiliser le port.
  • Si vous pouvez voir le site sur le PC, il est hébergé sur, mais pas sur un autre PC, puis de vérifier que vous n'obtenez pas bloqué par un pare-feu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X