Created
April 1, 2011 13:06
-
-
Save jedi4ever/898114 to your computer and use it in GitHub Desktop.
update jenkins Updatecenter from CLI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ java -jar jenkins-cli.jar -s http://localhost:9000 install-plugin findbugs | |
findbugs is neither a valid file, URL, nor a plugin artifact name in the update center | |
No update center data is retrieved yet from: http://updates.jenkins-ci.org/update-center.json | |
findbugs looks like a short plugin name. Did you mean 'null'? | |
# Specifying a full URL works! | |
$ java -jar jenkins-cli.jar -s http://localhost:9020 install-plugin http://updates.jenkins-ci.org/download/plugins/AdaptivePlugin/0.1/AdaptivePlugin.hpi | |
# Get the update center ourself | |
$ wget -O default.json http://updates.jenkins-ci.org/update-center.json | |
# remove first and last line javascript wrapper | |
# Now push it to the update URL | |
curl -X POST -H "Accept: application/json" -d @default.json http://localhost:9020/updateCenter/byId/default/postBack --verbose | |
* About to connect() to localhost port 9020 (#0) | |
* Trying ::1... connected | |
* Connected to localhost (::1) port 9020 (#0) | |
> POST /updateCenter/byId/default/postBack HTTP/1.1 | |
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3 | |
> Host: localhost:9020 | |
> Accept: application/json | |
> Content-Length: 253822 | |
> Content-Type: application/x-www-form-urlencoded | |
> Expect: 100-continue | |
> | |
* Done waiting for 100-continue | |
< HTTP/1.1 200 OK | |
< Server: Winstone Servlet Engine v0.9.10 | |
< Content-Type: text/plain;charset=UTF-8 | |
< Connection: Close | |
< Date: Fri, 01 Apr 2011 13:03:41 GMT | |
< X-Powered-By: Servlet/2.5 (Winstone/0.9.10) | |
# Now it finds the plugin by name | |
$ java -jar jenkins-cli.jar -s http://localhost:9020 install-plugin findbugs | |
Installing findbugs from update center | |
$ java -jar jenkins-cli.jar -s http://localhost:9020 safe-restart | |
hudson.lifecycle.RestartNotSupportedException: Restart is not supported on Mac OS X | |
$ java -jar jenkins-cli.jar -s http://localhost:9020 reload-configuration |
Why do you need to update UpdateCenter?
This does not work behind a proxy. I always end up getting WARNING: No valid crumb was included in request for /updateCenter/byId/default/postBack. Returning 403.
@sayantandas: This does not work behind a proxy. I always end up getting WARNING: No valid crumb was included in request for /updateCenter/byId/default/postBack. Returning 403.
I don't think that's related to a proxy, rather that Jenkins' CSRF protection is enabled. You should add the crumb as header as well: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
This is still helping people (me). Although it wasn't a direct fix, it made sure I was being sane.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks a lot