-
Notifications
You must be signed in to change notification settings - Fork 99
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
Add ability to download the client directory from the plugin installed in Jenkins #62
Conversation
… URL http://jenkins_server:port/swarm/swarm-client.jar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, you do not use PluginImpl
due to the permission requirements, right?
I would rather serve the client from the JENKINS-URL/swarm/swarm-client.jar
or so. It reserves some extensibility for other needs
} | ||
|
||
// serve static resources | ||
public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add @Restricted(NoExternalUse.class)
to indicate it is not a public API
Hello, Yes, the purpose is to have the client being downloadable publicly to ease its distribution so I couldn't use the Annotation added. |
@sylv704
WDYT? |
Well, I may be wrong but this is what I did (so I agree): the JAR is downloadable from the URL JENKINS_URL/swarm/swarm-client.jar: the method |
Right, my bad |
Looks good to me after manual testing. Will try to integrate it into the next release |
CC @Wadeck . |
After https://jenkins.io/security/advisory/2018-02-14/ it is fine to release it. |
@sylv704 Really cool feature, thanks! |
Add ability to download the client directory from the plugin with the URL http://jenkins_server:port/swarm/swarm-client.jar. This will simplify the availability and distribution of the client (especially in an enterprise context) and permit the creation of very simple, generic Docker containers for Jenkins slaves that would just download the client from Jenkins, making sure it is always up-to-date with Jenkins (in short, no more need to build a client container for every release of the client).