-
-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mirrors of jenkins update is not working #2787
Comments
Hi @ayanamist thanks for reporting! But the update-center.json is not mirrored, as you underlined, to ensure that its safety. However, all the "heavy" files (plugins, war, packages) are mirrored: each call for these files on the domain If I understand correctly the problem you are facing, it means that you see slow answers for the HTTP/302 redirect on update.jenkins.io: is that correct? Could you share some data around timing of theses requests (and their redirect chain) as seen on your side, to help us understand better and search for solutions? |
|
updates.jenkins.io should redirect to get.jenkins.io which is mirrored. Is even the redirect slow?
Actually, that is probably doable, if we tolerate some delays in delivering metadata to users. This is how it has worked for a really long time in the past, that went away progressively while switching to serving only HTTPS. In general the current solution is better IMO, should look at other solutions first. So, options. Individual orgs could package Jenkins with their own custom root certs to support self-hosted local/regional update sites. Alternatively, why can't a mirror be set up that has the same mod_rewrite rules for |
Because all mirrors listed in http://mirrors.jenkins.io/status.html does not support this, because today apache httpd is not widely used anymore so htaccess is not usable.
Visit |
Yes. I know it does not exist. I am trying to understand what prevents the creation, if anything. I even mention it can be a separate system, so the "nobody uses Apache" reason doesn't really apply, unless it's not usable.
I am referring to the download URLs listed in the JSON, e.g.
|
Hello @ayanamist , do you have any news on this issue? |
I am trying to build a internal repo in my corp, but as i said before, no one knows how to maintain an apache httpd instance, and lack of docs in https://github.com/jenkins-infra/update-center2 and how to put our own CA certs in jenkins k8s pod, which are main difficulties. So no more news. |
What specifically is missing?
Put files in |
As first line of README "This project is primarily used to generate the jenkins.io update center layout.", so if you follow the guide in the README, it won't get a working private update site, maybe there are many implicit prerequisites i dont know.
It's not as easy as you said to put this cert into k8s pod, if insisting on using official jenkins image, it must declare a volume and use an init container to put file to the volume, and add a environment variable to use this new update site by default without user modification. I hope you can give some further practical advices but not these meaningless words. |
Hi @ayanamist , we understand the frustration it causes in your case but please can you watch your tone? This is a community space and a lot of the work done here is done voluntary. The code here is aimed at the principal update center and has been written like this for reasons. If you feel that the documentation is missing, you can open a PR proposing improved content. It also implies that maintainer have the right to say "no". Daniel is trying to help, as I am but we are not entitled to solve issues of every people asking as we are not a business provider. |
@dduportal I know here is just a community, but i do not like someone quote my limited words and given some meaningless solution as saying "How to put an elephant into a fridge is as easy as open fridge, put it into it and close the door", yeah that's a solution, but is it useful, or just say nothing? |
You haven't responded to my question (that I asked so that I can improve the documentation); and also seem to ignore the very next sentence from the readme. It's not that it cannot be used outside Jenkins project infra, I know of some orgs who use it for their own update sites. In fact, the separation of I am aware that we do not provide a solution that works "out of the box" but if all suggestions are met with "doesn't work with our stack" (and the implied "and we're unwilling to change anything about it"), I don't think we'll get anywhere here. |
The original purpose of this issue is just recalling some jenkins people to reconsider the json signature and direct download url which bring troubles for mirroring. |
Good point, the original request (having a good download experience in China) is reasonable. I lost track of it after offering what I thought were reasonable workarounds.
JSON signature will need to remain in some manner to ensure the integrity of the downloads. There could be potential improvements in Jenkins to work around that, like support rewriting URLs from one host to another, without compromising integrity. |
Service
Update center
Summary
I'm a user in china, and i see there are mirrors in china from http://mirrors.jenkins.io/status.html and https://updates.jenkins.io/download/war/latest/jenkins.war?mirrorstats
However, since Jenkins Updates Sites is a Version-Specific Update Sites which requires
version
parameter to be handled, all mirrors do not implement this, and must be set to version-locked-in site url like https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-stable-2.319.3/ but not https://mirrors.tuna.tsinghua.edu.cn/jenkins/updatesWhat's worse is that, plugin.url in update-center.json are always pointed to updates.jenkins.io, no matter what site i choosed, jenkins will always download from updates.jenkins.io which is very very slow in china. And update-center.json can't be rewritten since it's protected by certificate verification.
Is there any other way to use these mirrors to accelerate downloading and decrease the network load of main site?
Reproduction steps
No response
The text was updated successfully, but these errors were encountered: