J'ai une nouvelle installation de Jenkins 2.32.2 sur Ubuntu . J'ai ouvert un navigateur sur l'instance et je me suis rendu sur une page intitulée Offline, avec le message "Cette instance de Jenkins semble être hors ligne" et offre des options pour "Configurer le proxy" ou "Ignorer l'installation du plugin"
La machine n’est clairement pas hors ligne, car j’ai juste utilisé la connexion Internet pour effectuer l’installation .J’avais aussi une installation précédente, faite exactement de la même manière, qui fonctionnait . J'ai supprimé l’installation précédente comme Pipelines le ferait. Pas de travail et Google m'a dit que c'était à cause de JDK 9. J'ai donc supprimé toutes les installations JDK/JRE ainsi que jenkins, je n'ai installé que JDK 8 nouvellement installé, Jenkins et je suis arrivé ici.
Jenkins a travaillé sur cette boîte dans le passé, alors qu'est-ce qui la fait penser qu'elle est hors ligne?
Update: Vous avez trouvé un fichier journal/var/lib/jenkins/logs/tasks/Téléchargez le fichier metadata.log Et le message commence par FATAL: Connexion refusée (Connexion refusée) I. penserait que cela indique que la connexion Internet est OK, mais quelque chose d'autre l'empêche de recevoir des données?
Update: Sur la base d'autres recherches, j'ai vérifié le site de mise à jour dans le gestionnaire de plugins. Ceci est répertorié comme http://updates.jenkins-ci.org/update-center.json et, à partir de la ligne de commande, un wget de ce fichier réussit. Donc, très certainement pas un problème de connexion. Travaillé avec http et https, Jenkins ne fonctionne avec aucun des deux.
Dans mon cas, cela a quelque chose à voir avec SSL. Je parviens à résoudre ce problème en éditant /var/lib/jenkins/hudson.model.UpdateCenter.xml
et en changeant l'URL pour utiliser http
au lieu de https
.
Redémarrez Jenkins et rechargez le site Web, il ne s'affiche plus hors connexion.
Pour les utilisateurs macOS:
Étape -1: Éditez /Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml
et changez l’URL en utilisant http
au lieu de https
.
Étape -2: Redémarrer _Jenkins (par exemple, en allant à http:localhost:8080
) et rechargez le site Web
Étape 3 (facultatif): s’il vous est demandé un utilisateur et un mot de passe et si vous ne vous en souvenez pas; La valeur par défaut utilisateur est admin et copiez le mot de passe de
Sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
crédits - @Alex dans cet article et @Tuan Pham ici et @ Joe Walsh pour le commentaire sur le chemin du répertoire macOS
dans mon cas (macOS), mettre à jour jdk à 8 et réinstaller jenkins a résolu le problème.
Il y a quelque chose qui ne va pas avec la connexion Internet du centre de mise à jour. J'ai rencontré la même situation avec Jenkins installé sur macOS.
Vous pouvez essayer de modifier le fichier hudson.model.UpdateCenter.xml
.
Jenkins installé avec le paquetage .pkg
sur macOS, le chemin du fichier est le suivant: /Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml
Jenkins installé par Homebrew sur macOS, le chemin du fichier est: /Users/{username}/.jenkins/hudson.model.UpdateCenter.xml
Ouvrez le fichier:
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
Vous pouvez essayer de changer https://updates.jenkins.io/update-center.json
en:
http://updates.jenkins.io/update-center.json
ou
// If you are in China or near China area,https and http are both OK.
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
Et puis vous pouvez redémarrer Jenkins en:
//loading the URL to restart Jenkins.
http://localhost:8080/restart
ou
// Use Homebrew command to restart Jenkins if you installed Jenkins LTS version by Homebrew.
brew services restart jenkins-lts
Le problème est que, pour une raison quelconque, Jenkins n’a pas accès à la chaîne de certificats du service de mises à jour de Jenkins. ou en utilisant un proxy de quelque sorte.
L'installation d'un nouveau JDK 8 (u101 +) avec Java_HOME devrait faire l'affaire comme suit:
s’assure que les certificats Lets Encrypt sont installés et disponibles sur le système d’exploitation . Pour le tester, vous pouvez utiliser les instructions suivantes:
Et pour installer manuellement si nécessaire la chaîne racine Let's Encrypt en utilisant le script suivant:
Sur MacOS: 10.11.6
Étape 1: Allez à /Users//.jenkins
Étape 2: ouvrez le fichier hudson.model.UpdateCenter.xml.
Étape 3: modifiez la valeur de "default" de " https: // xxx " à " http: // xxx "
Je ne fais aucune déclaration à ce sujet, en particulier en ce qui concerne Java (personnellement, je ne supporte pas le langage), mais sous Ubuntu 18.04 L/T, je devais créer une instance autonome de Jenkins; J'ai donc installé à la fois Java dont Jenkins semble être dépendant et Jenkins lui-même.
Sudo apt install openjdk-8-jdk jenkins
Puis j'ai mis à jour les valeurs par défaut de Jenkins
Sudo gvim /etc/default/jenkins
... en insérant ce qui suit dans la partie supérieure du fichier - uniquement parce que l'édition de /etc/init.d/jenkins semblait ne servir à rien, car cela n'avait aucun effet ...
Java_HOME=/usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/
PATH=$Java_HOME:$PATH
Enfin, sauvegardez et quittez ... puis essayez de redémarrer Jenkins
Sudo service jenkins restart
HTH - cela a certainement fonctionné pour moi :-)
Cela se produit généralement lorsque vous travaillez avec le système d'exploitation société émise par la société _ {Windows.
Réparer :-
cliquez sur "Configure Proxy} _" pour demander à votre équipe informatique des valeurs serveur et port spécifiques qui peuvent contourner le pare-feu et donner à vos fenêtres nom d'utilisateur & mot de passe. De cette façon, vous pouvez résoudre le problème pare-feu Windows _ et Jenkins hors ligne.
J'ai fait beaucoup de recherches sur Internet mais le correctif n'est disponible nulle part.
Merci!
Sous Windows, procédez comme suit.
1. Allez à C:\Utilisateurs * votre nom d'utilisateur * .jenkins
2. Ouvrez le fichier: hudson.model.UpdateCenter.xml
3. Mettez à jour la valeur de "url" de " https: // xxx " en " http: // xxx "
Dans mon cas, j'ai changé https en http dans la ligne URL du fichier /var/lib/jenkins/hudson.model.UpdateCenter.xml Et de redémarrer jenkins, son fonctionnement commence.