49 votes

Pourquoi Jenkins dit "Cette instance de Jenkins semble être hors ligne".

J'ai une nouvelle installation de Jenkins 2.32.2 sur Ubuntu. J'ai ouvert un navigateur sur l'instance et je suis arrivé à une page intitulée Hors ligne avec le message "Cette instance de Jenkins semble être hors ligne" et propose des options pour "Configurer le proxy" ou "Ignorer l'installation du plugin".

La machine n'est manifestement pas hors ligne, car j'ai simplement utilisé la connexion Internet pour effectuer l'installation. J'avais également une installation précédente, effectuée exactement de la même manière, qui fonctionnait. J'ai supprimé l'installation précédente car Pipelines ne fonctionnait pas et Google m'a dit que c'était à cause de JDK 9. J'ai donc supprimé toutes les installations JDK/JRE ainsi que Jenkins, j'ai réinstallé JDK 8 uniquement, installé Jenkins et j'en suis arrivé là.

Jenkins a travaillé sur cette boîte dans le passé, alors qu'est-ce qui lui fait croire qu'elle est hors ligne ?

Mise à jour : J'ai trouvé un fichier journal /var/lib/jenkins/logs/tasks/Download metadata.log et il commence par un message FATAL : Connexion refusée (Connexion refusée) Je pense que cela indique que la connexion Internet est correcte, mais que quelque chose d'autre l'empêche de recevoir des données ?

Mise à jour : Sur la base d'autres recherches, j'ai vérifié le site de mise à jour dans le gestionnaire de plugins. Il 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. Il ne s'agit donc pas d'un problème de connexion. J'ai travaillé à la fois avec http et https, jenkins ne fonctionne avec aucun des deux.

1 votes

J'ai eu le même problème, et j'ai essayé la configuration du proxy, ça marche ! Sur la même machine un proxy http pur. Je ne sais toujours pas pourquoi.

72voto

Alex Points 624

Dans mon cas, cela a quelque chose à voir avec le SSL. J'ai réussi à le corriger en modifiant /var/lib/jenkins/hudson.model.UpdateCenter.xml et changer l'url pour utiliser http au lieu de https .

Redémarrez Jenkins et rechargez le site web, il ne s'affiche plus hors ligne.

3 votes

Cela a fonctionné pour moi. Fichier os x à /Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml

5 votes

Pour moi, sur macOS, le fichier était /Users/you/.jenkins/hudson.model.UpdateCenter.xml .

1 votes

Si cela ne fonctionne pas. Essayez d'installer CNTLM qui vous donne un proxy local pour le proxy externe et Jenkins peut utiliser CNTLM comme serveur proxy. Ce n'est pas mon blog, mais il y a plus d'explications : alakbarv.azurewebsites.net/2017/09/12/

21voto

rak appdev Points 530

Pour macOS utilisateurs :

Étape -1 : Modifier /Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml et changer l'url pour utiliser http au lieu de https .

Étape -2 : Redémarrer jenkins (par exemple en allant sur http:localhost:8080 ) et rechargez le site web

Étape -3 (facultative) : S'il vous demande un utilisateur et un mot de passe et si vous ne vous souvenez pas d'en avoir créé un ; par défaut utilisateur es admin et copier le mot de passe de

sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword

crédits - @Alex dans ce message et @Tuan Pham ici et @Joe Walsh pour le commentaire sur le chemin du répertoire macOS

19voto

ifeegoo Points 720

Il y a un problème 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 hudson.model.UpdateCenter.xml fichier.

Jenkins installé avec .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 à :

http://updates.jenkins.io/update-center.json

o

// 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 ensuite vous pouvez redémarrer Jenkins en :

//loading the URL to restart Jenkins.
http://localhost:8080/restart

o

// Use Homebrew command to restart Jenkins if you installed Jenkins LTS version by Homebrew.  
brew services restart jenkins-lts

4voto

mclovin Points 67

Dans mon cas (macOS), la mise à jour de jdk vers 8 et la réinstallation de jenkins ont résolu le problème.

0 votes

Vous n'avez pas besoin de réinstaller Jenkins ; vous pouvez mettre à niveau le JDK et ensuite kill le processus Jenkins. Il redémarrera automatiquement.

1 votes

Pour moi "1.8.0_40" n'était pas bon, "1.8.0_181" était bon. J'ai été trompé/oublié apparemment que "Java" sur MacOSX était JDK, apparemment c'est JRE. Réf : stackoverflow.com/questions/15624667/

4voto

elico Points 29

Le problème est que, pour une raison quelconque, Jenkins n'a pas accès à la chaîne de certificats du service de mise à jour de Jenkins. Sur Ubuntu 18.04 j'ai eu ce problème et les liens et instructions suivants m'ont aidé à démarrer Jenkins correctement sans modifier l'url par défaut ou utiliser un proxy quelconque.

L'installation d'un nouveau JDK 8(u101+) avec JAVA_HOME devrait faire l'affaire comme suit :

est de s'assurer que les certificats Lets Encrypt sont installés et disponibles sur l'OS/SYSTEM. Pour le tester, vous pouvez utiliser les instructions à l'adresse suivante :

Et d'installer manuellement si nécessaire la chaîne Let's encrypt Root en utilisant le script suivant :

1 votes

Je vous recommande vivement de résumer les points clés dans votre réponse, car les réponses ne comportant que des liens sont mal vues pour de nombreuses raisons (y compris, mais sans s'y limiter, le fait que les liens externes disparaissent souvent et deviennent indisponibles, transformant des réponses autrefois utiles en bruit inutile).

0 votes

En effet, vous avez raison mais ce post n'est pas pour les "nuls". JAVA_HOME est nécessaire pour que JDK ou JRE fonctionne correctement. Sur Ubuntu 18.04, qui est toujours en phase de test, le problème est que l'installation ne configure pas la variable JAVA_HOME de manière globale. Je ne suis pas en train d'écrire un tutoriel mais simplement d'indiquer la bonne direction qui, d'ailleurs, est la suivante alex la solution n'aurait même pas touché... Dans tout ce fil de discussion, je n'ai vu que des suppositions et rien en rapport avec le vrai problème, alors j'ai ajouté une "redirection" vers une solution plus fructueuse.

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