List of domains that Jenkins uses to update packages and plugins

The infrastructure on which my Jenkins is deployed has port and domain restrictions, and internet access is also limited.
Please tell me where I can find a list or what domain names and ports need to be added to the allowed ones so that Jenkins can update plugins and packages?

I have already seen this link, which has a link to a json with the described accesses, but there is a list of accesses that Jenkins uses, not the one under them. I will attach a screenshot below

Hello and welcome to this community, @vyiatta. :waving_hand:

I came across some information that might be helpful for setting up Jenkins in environments with restricted internet access. While I’m not entirely certain about all the details, this is what I’ve gathered:

Important Domains and Their Roles

Jenkins relies on several domains for updates and plugins. It’s a bit complex because Jenkins initially connects to metadata servers before redirecting to various download mirrors. Here are some critical domains that might need whitelisting:

  • updates.jenkins.io: This is the primary update site. It’s used for serving metadata (though verification of the exact IP might be needed!).
  • updates.jenkins-ci.org: An alternative site for some plugin downloads, but it might not be as commonly used.
  • get.jenkins.io: Typically used for redirects during plugin downloads.
  • archives.jenkins-ci.org: Used for accessing archived plugins and files; might not always be necessary depending on your usage.

Package Repositories

For managing packages, particularly if you’re using Debian-based systems, this domain might be relevant:

  • pkg.jenkins.io: This is used for Debian package repositories, which kind of suggests you might need it for package management.

Please take this as a starting point, and it might be worth cross-referencing with Jenkins’ official sources for confirmation. Hope this helps, even if just a little bit!

1 Like

It should be noted that updates.jenkins.io will redirect to the closest mirror.
Depending if you’re loading a plugin or json it will redirect to different things.
The json looks like this (with 2 different locations)

$ curl -I https://updates.jenkins.io/current/update-center.actual.json
HTTP/1.1 307 Temporary Redirect
Date: Tue, 20 May 2025 18:44:02 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: https://mirrors.updates.jenkins.io/current/update-center.actual.json
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload


$ curl -I  https://mirrors.updates.jenkins.io/current/update-center.actual.json
HTTP/1.1 302 Found
Date: Tue, 20 May 2025 18:44:14 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Cache-Control: private, no-cache
Location: https://archives.jenkins.io/update-center/current/update-center.actual.json
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload


$ curl -I  https://mirrors.updates.jenkins.io/current/update-center.actual.json
HTTP/1.1 302 Found
Date: Tue, 20 May 2025 18:44:19 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
Cache-Control: private, no-cache
Location: https://eastamerica.cloudflare.jenkins.io/current/update-center.actual.json
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload

Don’t know if the list of mirrors for json files is documented anywhere

ok the json is not served from the mirrors only the hpi files

$ curl -I https://updates.jenkins.io/download/plugins/update-sites-manager/89.v8984b_17c66b_7/update-sites-manager.hpi
HTTP/1.1 302 Found
Date: Tue, 20 May 2025 18:51:20 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: https://get.jenkins.io/plugins/update-sites-manager/89.v8984b_17c66b_7/update-sites-manager.hpi
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload


$ curl -I https://get.jenkins.io/plugins/update-sites-manager/89.v8984b_17c66b_7/update-sites-manager.hpi
HTTP/1.1 302 Found
Date: Tue, 20 May 2025 18:51:37 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: private, no-cache
Link: <https://ftp.belnet.be/mirror/jenkins/plugins/update-sites-manager/89.v8984b_17c66b_7/update-sites-manager.hpi>; rel=duplicate; pri=1; geo=be
Location: https://ftp.halifax.rwth-aachen.de/jenkins/plugins/update-sites-manager/89.v8984b_17c66b_7/update-sites-manager.hpi
Strict-Transport-Security: max-age=2592000; includeSubDomains; preload