I have a fresh install of Jenkins 2.32.2 on Ubuntu.
Opened a browser on the instance and get to a page titled Offline, with the message «This Jenkins instance appears to be offline» and offers options to «Configure Proxy» or «Skip Plugin Installation»
The machine clearly isn’t offline as I just used the internet connection to do the installation.
I also had a previous installation, done exactly the same way, that was working.
I removed the previous installation as Pipelines wouldn’t work and Google told me it was because of JDK 9. So I removed all the JDK/JRE installations as well as jenkins, fresh installed JDK 8 only, installed Jenkins, and got to here.
Jenkins has worked on this box in the past so what makes it think it is offline?
Update: Found a log file /var/lib/jenkins/logs/tasks/Download metadata.log
and it starts with a message FATAL: Connection refused (Connection refused)
I would think that indicates that the internet connection is OK, but something else is stopping it getting data?
Update: Based on other research I checked the Update Site in the Plugin Manager. This is listed as http://updates.jenkins-ci.org/update-center.json and, from the command line a wget of this file succeeds. So most definitely not a connection issue. Worked with both http and https, jenkins works with neither.
asked Feb 23, 2017 at 6:38
SimonSimon
4811 gold badge4 silver badges5 bronze badges
1
In my case, it has something to do with SSL. I manage to fix it by editing /var/lib/jenkins/hudson.model.UpdateCenter.xml
and change url to use http
instead of https
.
Restart jenkins and reload the website, it no longer shows offline.
answered Sep 16, 2017 at 2:26
AlexAlex
1,64213 silver badges10 bronze badges
9
For macOS users:
Step -1: Edit /Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml
and change url to use http
instead of https
.
Step -2: Restart jenkins (for instance by going to http:localhost:8080
) and reload the website
Step -3(Optional): If it asks for user and password and if you don’t remember creating one; default user is admin and copy the password from
sudo cat /Users/Shared/Jenkins/Home/secrets/initialAdminPassword
credits — @Alex in this post and @Tuan Pham here and @Joe Walsh for the comment on macOS directory path
answered Dec 14, 2017 at 17:46
rak appdevrak appdev
6978 silver badges21 bronze badges
There is something wrong with the internet connection of update center.I have met the same situation with Jenkins installed on macOS.
You can try to modify the hudson.model.UpdateCenter.xml
file.
Jenkins installed with .pkg
package on macOS,the file path is:
/Users/Shared/Jenkins/Home/hudson.model.UpdateCenter.xml
Jenkins installed by Homebrew on macOS,the file path is:
/Users/{username}/.jenkins/hudson.model.UpdateCenter.xml
Open the file:
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
You can try to change https://updates.jenkins.io/update-center.json
to:
http://updates.jenkins.io/update-center.json
or
// 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
And then you can restart Jenkins by:
//loading the URL to restart Jenkins.
http://localhost:8080/restart
or
// Use Homebrew command to restart Jenkins if you installed Jenkins LTS version by Homebrew.
brew services restart jenkins-lts
answered Nov 20, 2018 at 12:12
ifeegooifeegoo
6,9243 gold badges29 silver badges38 bronze badges
0
in my case (macOS), updating jdk to 8 and reinstall jenkins solved the problem.
answered Jan 16, 2018 at 9:53
2
I also faced this issue i.e. This Jenkins instance appears to be offline
on windows 10.
Below are the steps I followed to solve it:
-
Navigate to the Jenkins Home Directory.
For me, the default home directory is: C:WindowsSystem32configsystemprofileAppDataLocalJenkins.jenkins -
Changed the protocol from HTTPS to HTTP in the file hudson.model.UpdateCenter.xml
-
Restarted Jenkins (Go to C:Program FilesJenkins and then execute jenkins.exe stop, jenkins.exe start)
-
Logged in to Jenkins again (http://localhost:8080/).
The offline error got solved.
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Mar 11, 2021 at 16:26
In my case i have changed https
to http
in URL
line of /var/lib/jenkins/hudson.model.UpdateCenter.xml
file
and restarted the jenkins. It started functioning.
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Jan 31, 2019 at 5:38
dushyantdushyant
3093 silver badges7 bronze badges
in case you are running jenkins in a container and vi is not installed
access your container in interactive mode
docker exec -it jenkins-ci /bin/bash
use this sed command to replace https with http
sed -i 's/https/http/g' /var/jenkins_home/hudson.model.UpdateCenter.xml
answered Sep 30, 2020 at 0:22
TerefeTerefe
1992 silver badges5 bronze badges
This mostly happens when you are working with company issued PC Windows OS.
Fix :-
click on «Configure Proxy» ask your IT team for specific server and port values that can bypass firewall and give your windows username & password. In this way you can resolve windows firewall and offline Jenkins issue.
I researched a lot over Internet but nowhere the fix is available.
Thanks!
answered Jan 1, 2019 at 5:18
1
For Ubuntu,
go to /home/username/.Jenkins/Hudson.model.UpdateCenter.xml
and
edit the file from https to http
.
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Mar 29, 2022 at 4:02
ShekarShekar
1351 silver badge5 bronze badges
On MacOS 10.11.6 :
-
Go to
/Users/<UserName>/.jenkins
-
Open the file
hudson.model.UpdateCenter.xml
-
Change the value of
default
fromhttps://xxx
tohttp://xxx
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Jul 25, 2018 at 19:20
ArunDhwaj IIITHArunDhwaj IIITH
3,8131 gold badge22 silver badges14 bronze badges
-
Took note of the secret Administrator password path that Jenkins displays when first opening http://localhost:8080/ on a browser.
-
The path was: C:Users{username}AppDataLocalJenkins.jenkinssecrets.
Therefore the hudson.model.UpdateCenter file was at C:Users{username}AppDataLocalJenkins.jenkins -
Updated the hudson.model.UpdateCenter file in notepad to have text http instead of https as follows:
http://updates.jenkins.io/update-center.json -
Reloaded the http://localhost:8080/ page but still showed the text «This Jenkins instance appears to be offline.»
-
Then navigated to the Services App in Windows (click Windows and type ‘Services App’ and it should display the App in the search list)
-
In the services App right clicked the Jenkins service and selected Restart.
-
After Windows restarted the Jenkins service navigated to http://localhost:8080/
The Jenkins page wouldn’t even load. Navigated to the Jenkins login page: http://localhost:8080/login?from=%2F -
Then got a loading page with text:’Please wait while Jenkins is getting ready to work …
Your browser will reload automatically when Jenkins is ready.’
Assumed that Jenkins was still restarting. -
Once the Jenkins login page loaded, entered that password/secret again and clicked Continue.
-
This time the page with «This Jenkins instance appears to be offline.» was not displayed. Jenkins displayed a Getting Started -> Customize Jenkins page with buttons to install plugins.
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Dec 8, 2021 at 5:57
For Windows OS,
follow below steps:
- Go to
C:Users\*your user name*\.jenkins
- Open the file
hudson.model.UpdateCenter.xml
- Update the value of
url
fromhttps://xxx
tohttp://xxx
desertnaut
56k21 gold badges134 silver badges163 bronze badges
answered Dec 18, 2018 at 5:46
1
I make no claims about this, especially Java related (I personally cannot stand the language), but on my Ubuntu 18.04 L/T, I needed to stand-up a standalone Jenkins instance; So I installed both the Java on which Jenkins appears to be dependent and Jenkins itself
sudo apt install openjdk-8-jdk jenkins
Then I updated the Jenkins defaults
sudo gvim /etc/default/jenkins
… inserting the following at the top of the file — only because editing /etc/init.d/jenkins appeared to serve no purpose as it had no effect whatsoever …
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/
PATH=$JAVA_HOME:$PATH
Finally, save & quit … then attempt Jenkins restart
sudo service jenkins restart
HTH — it certainly worked for me
answered Nov 11, 2018 at 17:17
I’m working on a Mac, and in my case, it turned out that the version of Java Jenkins was using (1.8.0u66) wasn’t up to date enough. I had both Java 11 and Java 14 installed, but the jenkins-lts script was coded to force use of Java 8. Rather than install a more up to date JDK 8 installation, I modified the script to run ${JAVA_HOME}/bin/java and set JAVA_HOME to the JDK 11 installation.
answered May 8, 2020 at 14:11
It might not always be an option but if you have a choice use different Image. I used Debian GNU/Linux 10
and it worked like a charm.
answered Feb 1, 2021 at 22:17
Re-installing JAVA JDK8 worked for me.
answered Mar 6, 2021 at 14:16
Another possibility — make sure DNS functions properly for Jenkins.
In my case, I followed Kubernetes setup instructions here to install Jenkins, and it led to this problem.
I enabled logging on CoreDNS and saw this:
│ [INFO] 10.70.116.14:45888 - 50490 "AAAA IN updates.jenkins.io.svc.cluster.local. udp 54 false 512" NXDOMAIN qr,aa,rd 147 0.0001896s │
│ [INFO] 10.70.116.14:45888 - 32566 "A IN updates.jenkins.io.svc.cluster.local. udp 54 false 512" NXDOMAIN qr,aa,rd 147 0.000169468s │
│ [INFO] 10.70.116.14:57907 - 22912 "A IN updates.jenkins.io.localdomain. udp 48 false 512" NOERROR qr,aa 110 0.000907476s │
│ [INFO] 10.70.116.14:57907 - 52100 "AAAA IN updates.jenkins.io.localdomain. udp 48 false 512" NOERROR qr,aa 110 0.001709031s
The lookups were all cluster-local.
If I edited the URL (as suggested in other answers here) to include a dot after updates.jenkins.io.
then hostname lookup worked and the URL resolved. Though Jenkins’ next step errors for the same reason.
In the end I discovered the problem was ClusterFirst
mode of the pod’s DNS. I added dnsPolicy: Default
to the deployment’s pod template spec (the instructions link above), and now it works.
answered Apr 21, 2021 at 20:13
jwsjws
1,88115 silver badges28 bronze badges
Even I faced similar issue, then figured out that JDK that I was using is 8 instead of 11.
Check jenkins jdk combination under jenkins official site
I used JDK11 with Jenkins 2.3031 version and it worked fine — all plugins got downloaded
answered Sep 10, 2021 at 8:24
1
In my case, I use WINDOWS OS. So, jenkins was installed in my C drive.
PATH : C:UsersUsername .jenkins
Under «hudson.model.UpdateCenter» file change «https» to «http»
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://updates.jenkins.io/update-center.json</url>
</site>
</sites>
answered Oct 8, 2021 at 15:14
As some others pointed out, in Windows, this could be because of firewall restrictions set by company infrastructure.
For my case, I need the recommended plugins to be present (e.g. Folders plugin)
My workaround was:
A. Install same Jenkins version into my personal laptop/VM, and be sure to install the recommended plugins the first time you browse to the Jenkins Web Page.
B. Copy the plugins folder from my personal laptop’s JENKINS HOME folder (i.e. ProgramDataJenkins…) into the Jenkins plugins folder of the company laptop.
Total size of the plugins folder was around 150MB (zipped).
Dharman♦
29.3k21 gold badges79 silver badges131 bronze badges
answered Nov 12, 2021 at 15:42
remondoremondo
3082 silver badges7 bronze badges
Enter this before running Jenkins.
# iptalbes -F
It may be because of the firewall.
answered Jul 2, 2018 at 6:25
jenkins_enable="YES"
jenkins_home="/usr/local/jenkins"
jenkins_user="jenkins"
jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=*.*.*.* --httpPort=8180"
#jenkins_java_opts="-Djavax.net.ssl.trustStore=/usr/local/jenkins/cacerts -Djava.net.preferIPv6Addresses=true"
#jenkins_java_opts="-Djavax.net.ssl.trustStore=/usr/local/jenkins/cacerts -Djava.net.preferIPv4Addresses=true"
Pang
9,344146 gold badges85 silver badges121 bronze badges
answered Oct 23, 2018 at 7:05
1
Photo by Annie Spratt on Unsplash
Share this post and Earn Free Points!
In this post I will show you what means and how to solve problem with error: This Jenkins Instance Appears To Be Offline
Table of Contents
Introduction
Jenkins
Jenkins is an open-source automation server that is designed to automate parts of the software development process. It is written in Java and can be run on a variety of platforms, including Windows, macOS, and Linux.
Jenkins is commonly used for:
- Building and testing software projects continuously, making it easier to integrate changes to the project.
- Automating the building, testing, and deployment of software.
- Monitoring the execution of externally-run jobs, such as cron jobs or procmail jobs.
Some of the key features of Jenkins include:
- A web interface that provides an easy way to configure and monitor Jenkins jobs.
- The ability to define jobs as scripts, allowing for easy creation and maintenance of jobs.
- Support for building and testing multiple projects concurrently.
- Extensibility through a plugin system, which allows developers to create custom plugins to extend the functionality of Jenkins.
Install Jenkins
There are a few different ways you can install Jenkins, depending on your operating system and the level of control you want over the installation process. Here are a few options:
- Download the Jenkins WAR file and run it on an application server such as Apache Tomcat. This is a good option if you want to run Jenkins on your own server and have full control over the installation and configuration.
- Use a package manager to install Jenkins. This is a good option if you are using a Unix-like operating system such as macOS or Linux, and you want to use a package manager to handle the installation and upgrades.
- Use a pre-configured Jenkins container. This is a good option if you want to quickly spin up a Jenkins instance without worrying about installing and configuring Jenkins yourself. You can use a tool such as Docker to run a Jenkins container.
More information how to install Jenkins you can find on official Jenkins webpage.
Jenkins As DevOps Tool
Jenkins is often used as a DevOps tool. DevOps is a set of practices that aims to improve the collaboration and communication between developers and operations teams. Jenkins can be used as a tool to support the automation of various parts of the software development and delivery process, including building, testing, and deploying code.
Some of the ways that Jenkins can be used in a DevOps workflow include:
- Building and testing code changes automatically whenever they are pushed to a version control repository.
- Automating the deployment of code to staging and production environments.
- Running automated tests as part of the build process to catch any regressions early on.
- Monitoring the health and performance of deployed applications.
By automating these and other tasks, Jenkins can help teams to deliver software more quickly and reliably.
If you see a message saying “This Jenkins instance appears to be offline” when trying to access the Jenkins web interface, it could be due to a number of issues.
Problem
During the installation of Jenkins, we may receive an error [ This Jenkins instance appears to be offline ] saying that our Jenkins do not have internet access. The problem may be due to the fact that we have problems with the SSL certificate, and by default Jenkins connects after https, when, for example, wants to download plugins for installation.
Solution
To solve the above problem (this Jenkins instance appears to be offline.), just change the protocol from HTTPS to HTTP in the file hudson.model.UpdateCenter.xml and reconstruct Jenkins.
<?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <!-- <url>https://updates.jenkins.io/update-center.json</url> --> <url>http://updates.jenkins.io/update-center.json</url> </site> </sites>
Summary
Other Possible Solutions
If you have still problem with your Jenkins instance, here are a few things you can try to troubleshoot the problem:
- Check the status of the Jenkins service. Depending on how you installed Jenkins, you may need to start the Jenkins service manually.
- Check the logs for any errors. Jenkins writes log files to the
JENKINS_HOME/logs
directory. Look for any error messages that might give you a clue as to what is causing the issue. - Check the network configuration. Make sure that the machine where Jenkins is running can connect to the internet, and that there are no firewall rules blocking access to Jenkins.
- Check for any out-of-memory errors. If the Jenkins process is running out of memory, it may cause the service to become unresponsive.
Could You Please Share This Post?
I appreciate It And Thank YOU! :)
Have A Nice Day!
For some reason this image reporting to be offline out of the box, I’ve seen some recommendation on stack overflow to just change https to http in the plugin repository address, but this seems a bit insecure to me. The other solution was to setup a web proxy just to access the plugin repo.
Shouldn’t this container be able to connect to the registry by default without any «friends» like local http proxies?
Docker commands that you execute
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
Actual result
«This Jenkins instance appears to be offline.»
https://imgur.com/RNKGQKm
Expected outcome
Jenkins in a docker should be able to download plugins on configuration step
Have you tried a non-dockerized Jenkins and get the expected outcome?
No, not yet
Output of docker version
Version: 19.03.2-ce
API version: 1.40
Go version: go1.13
Git commit: 6a30dfca03
Built: Tue Sep 3 23:41:01 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 19.03.2-ce
API version: 1.40 (minimum version 1.12)
Go version: go1.13
Git commit: 6a30dfca03
Built: Tue Sep 3 23:39:37 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.9.m
GitCommit: d50db0a42053864a270f648048f9a8b4f24eced3.m
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
Other relevant information
Log inSkip to main contentSkip to sidebar
- Jenkins
- JENKINS-45494
Unable to install plugins as Jenkins instance appears to be offline
- XMLWordPrintable
Details
-
Type:
Bug
-
Priority:
Blocker -
Resolution:
Not A Defect
-
Component/s:
core
-
Environment:
Windows 10
Jenkins version — 2.60.1
Java — 1.8.0_131
Description
After starting the jenkins.war file from CLI the localhost:8080 page is launched. The password is provided and the next page that it lands on says «OFFLINE this jenkins instance appears to be offline». Attached screenshot for the same.
Activity
Topic is about how I solved Jenkins Offline problem on Windows.
I Installed Jenkins for Windows and faced with problem “Offline This Jenkins instance appears to be offline.” As shown above.
When I tried Configure Proxy, I got error Failed to connect to http://yahoo.com/. (P.S you may use different URL 🙂 )
There might be 2 main reason for occurance of this problem:
- Application not properly running
- Your corporate proxy only allows NTLMv2 request but not NTLM
In order to solve problem I opened Windows Services (Start > Run > services.msc), stopped Jenkins manually as below:
Try to find your Java location, for example in my OS it is located on C:Program FilesJavajre1.8.0_141binjava.exe, then open cmd, go to the Jenkins Folder (C:Program Files (x86)Jenkins) and run below command
“C:Program FilesJavajre1.8.0_141binjava.exe” -jar jenkins.war
If Firewall Window appears and requires access, click Allow access
Wait few seconds, till the message appears INFO: Jenkins is fully up and running
After this process try again to login Jenkins with browser and check if problem solved or not.
If problem still exist and you are in corporate proxy most probably your proxy server support only NTLMv2, but not NTLM. But I solved this problem by creating proxy server on my own machine, with the following way,:
Install Cntlm
Go to Cntlm folder (C:Program Files (x86)Cntlm), open cntlm.ini file
Change second proxy address (Proxy 10.0.0.42:8080)
with your corporate proxy address and port.
Change below information according to your credentials:
Username testuser
Domain corp-uk
Password password
For example, mine is :
Save your changes in file.Then go to the folder C:WindowsSystem32, find cmd.exe, right click on cmd.exe and select Run As Administrator (otherwise it’ll return error Access is Denied)
Give command:
C:WindowsSystem32net.exe start cntlm
If Proxy service was started successfully, it means you created your own proxy server, you can type 127.0.0.1 port 3128 where required proxy, let’s see it in Jenkins.
As you see, proxy server is 127.0.0.1 and port is 3128, Click to Validete Proxy and wait if it succeed.
It is worked for me!
Please comment your result if it’s worked for you 🙂
I installed the configuration
Jenkins version: 2.204.4
Ubuntu: 16.04.3 lts (GNU/Linux 4.4.0-105-generic x86_64)
In Jenkins encountered when installing Jenkins has been displayed in the installation of
«Jenkins instance appears to be offline»
find a lot of variety of solutions. But there is no problem to solve my problem. I have found my solution after all kinds of tossing. At the same time, you will also record all the solution I collected. I hope I can help other children’s shoes.
Solution 1 — Security Certificate Questions HTTS/SSL
If you are installed in this machine such as
MacOS, Windows, local virtual machine
, you will find your local HTTPS link that you cannot request Jenkins. This problem can be changed from HTTPS to HTTP by modifying the URL address in
hudson.model.updatecenter.xml
.
Modify
hudson.model.UpdateCenter.xml
Find the file path in
hudson.model.updatecenter.xml
Find
/-name
"hudson.model.UpdateCenter.xml"
/VAR/LIB/Jenkins/hudson.model.UpdateCenter.xml
Macos classmates file path in:
/use/shared/jenkins/home/Hudson.Model.UpdateCenter.xml
Edit
hudson.model.UpdateCenter.xml
sudo
vim/var/lib/jenkins/hudson.model.UpdateCenter.xml
Find the following contents in the file
..
.
<
URL
>
https://updates.jenkins.io/Update-center.json
<
/url
>
..
.
change to
..
.
<
URL
>
http://updates.jenkins.io/Update-center.json
<
/url
>
..
.
or can be changed to using Chinese mirror
..
.
<
URL
>
https://mirrors.tuna.tsinghua.edu.cn/jenkins/Updates/Update-center.json
<
/url
>
..
.
Restart Jenkins,
-
http: localhost: 8080/restart
or
sudo service jenkins restart
-
Installing
Brew Services with BREW Restart Jenkins-LTS
then re-accesses the Jenkins URL, Jenkins can be installed normally.
If this method is invalid, you can check the second way
Solution 2 — Connection Failure Because you can’t access Google
If the first method is invalid, it is likely that this is what I encountered. This estimate is only in the country, so this is basically not found.
Because Jenkins is time to detect if the network connection is feasible, don’t think of whether you have access to Google.com to decide whether to have a network. This is basically unacceptable to domestic children’s shoes.
Open
http://domain.com/updatecenter
or
http://localhost: 8080/updateCenter
If you see there is an error, You, you have been wasted for a waste of dozens of hours by the great walls of the country. Just because you can’t access Google.com, Jenkins feels that you are no network. Ha ha!
However, good news is that since it is used to access Google.com to determine if there is a network, then we can do a hands and feet in Host.
much to say, directly on the solution: under
edit
host
file, linux systems are unified in
/etc/host
vim/etc/host
Add the following in the file
127.0.0.1 www.google.com
After saving, restart Jenkins,
-
http: localhost: 8080/restart
or
sudo service jenkins restart
-
Installing
Brew Services with BREW Restart Jenkins-LTS
then re-accesses the Jenkins URL, Jenkins can be installed normally.
In fact, this is here to point to the local, so Jenkins will find that you can ping the Google’s URL, you will feel that you have a network, not online. I didn’t expect to use Google to determine the network status. Really want to consider the following people’s feelings.