-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Jenkins 2.32.2 LTS on Windows
-
Powered by SuggestiMate
I just upgraded to Jenkins 2.32.2 and then to GitHub Branch Source 2.0.1 when prompted, but now it's refusing to load due to a dependency on SCM API 2.0.2 or later. However, the latest version of SCM API on the LTS branch appears to be 1.3 – that's what I have, and no newer version is listed in the Manage Plugins page.
EDIT: I originally filed this under the scm-api-plugin component but have added github-branch-source-plugin component since the issue relates to both.
[JENKINS-41661] LTS branch does not contain SCM API 2.0.2 release, but depends on it
You can fix this issue by manually uploading the version 1.10.1 of the GitHub Branch Source Plugin in the Advanced tab of the Plugin Manager page.
Yes, that seems to have done the trick. So is the issue that the GitHub Branch Source 2.0.1 release got pushed to LTS before its dependency, SCM API 2.0.2, did?
When will the scm-api 2.0.2 uploaded? I'm having the same issue, we're automatically building our Jenkins as a docker image, so manually doing this is not the best solution for us. Also, considering it requires manual installation, wouldn't it be better to install 2.0.2 rather than download github-branch-source?
This seems like a pretty big oversight. I'm actually surprised Jenkins even allowed itself to do this given the release wasn't published. You would think jenkins would validate this stuff. I'm also being impacted, currently attempting to manually build the scm-api 2.0.2 plugin, and install. Will update if it works.
I'm also looking into immediate solutions. Will report back with more later.
You can download 2.0.2 here and build it yourself: https://github.com/jenkinsci/scm-api-plugin/releases
Yeah, so I was able to download the 2.0.2 release and build it with maven 3.3.9 and Java 1.8 running `mvn release:prepare release:perform -B`. Notes: I ran once and it complained about it not being a snapshot or whatever, so I added `-snapshot` to the end of the version 2.0.0 in pom.xml, and it built successfully after that. However, mvn still failed because it wanted to do some git commands, which it couldn't from the release tarball (not a git repo), but the build still succeeded. The plugin will be in `target/scm-api.hpi`.
I'm not a java guy so that was just me fumbling to get things working, but overall it got me to a place where I could upload the plugin to resolve my upgrade issues.
I was able to build this without issue on a stock ubuntu-14.04 box like so:
(assuming your user is in the sudoers file)
- sudo apt-get update ; sudo apt-get upgrade -y ; sudo apt-get install default-jdk maven
- wget https://github.com/jenkinsci/scm-api-plugin/archive/scm-api-2.0.2.tar.gz && tar zxvf scm-api-2.0.2.tar.gz && cd scm-api-plugin-scm-api-2.0.2
- mvn package
Also having these issues. I had do similar steps--
1. Download the zip from the git link above
2. Install maven (mac) `brew install maven`
3. cd into the download folder contains the .pom
4. run `maven package`
5. Upload the generated .hpi file via the Advanced tab in Manage Plugins
6. Restart Jenkins
I also had to reinstall several Blue Ocean & pipeline plugins, but I was able to via the Manage Plugins GUI
Also noticed in some weirdness in plugin updates that the Git plugin seemed to disappear, possibly because of newer version required that also isn't published?
cc campbellr
I think this is a problem - but soon all those plugins will be avialable in the update center.
Thanks stensonb
I built it according to your manual and also uploaded it here: http://www.flauschig.ch/transfer/scm-api-2.0.2.hpi
Now everything is back to normal.
https://github.com/jenkinsci/backend-update-center2/pull/107 was just merged by stephenconnolly
https://www.dropbox.com/s/5g4qm8gms53pxqc/scm-api.zip?dl=0 is the full set of plugins
ACKing the http://www.flauschig.ch/transfer/scm-api-2.0.2.hpi - downloaded to my Jenkins_home, renamed away the other scm-api.jpi file, restarted the appserver and revived the broken deployment.
Also, rtyler disabled an xmission update mirror that reported stale data to updating clients.
Summary
In order to allow the SCM API updates to be released in a controlled manner, we had preemptively put a block on all the to be released versions.
Unfortunately the block contained a typo. I have fixed the typo but the update centers had already published the release and some people may have picked up the one plugin that escaped.
rtyler has disabled some of the mirrors that are slow to update for now. This means that no new installs should now be seeing the update.
Existing installs check the update center once every 24h, if your instance happened to run its check during the approx 18h between the GitHub Branch Source 2.0.1 plugin being released and our fixing of the "block" then you may see the update as visible, but the plugin manager should be warning that required plugins are missing.
i.e. new installs are more likely to be affected than existing installations.
The current plan is to remove the block on all these plugins on Monday 6th of Feb 2017. This is to prevent the risk of anything happening over the weekend while a lot of the core team are at FOSDEM.
We believe the new versions of the plugins are good to go, but would rather have them released in a controlled fashion in order to ensure that we can react promptly to any unforeseen issues.
If you have upgraded GitHub Branch Source to 2.0.1 you have two options:
1. Downgrade it to the 1.x version immediately and restart; or
2. Take the full set of plugins in this zip and extract into your $JENKINS_HOME/plugins and start Jenkins.
The second option will give you the plugin updates that will be released on Monday
Yes, sorry about this, as steven said, this was an attempt to test, as a unit, a large group of plugins before publishing them at once to the update center. This testing was performed successfully in an automated manner.
unfortunately a small typo let slip one plugin, which is what you are seeing. Sorry about that! (the blacklisting of plugins to hold them back is a new thing, which obviously is problematic)
There is a german word for this:
Verschlimmbesserung
http://www.urbandictionary.com/define.php?term=Verschlimmbesserung
Here is the SHA1 of the zip to verify that you do not have a corrupted download
$ shasum scm-api.zip c7b6279f8b8aebf9893bfa35a6c33e0a6537b7ea scm-api.zip
IMPORTANT
If you followed the advice of earlier commenters and manually upgraded to SCM API 2.0.2... you now cannot downgrade GitHub Branch Source to 1.x as the data migration has been performed, you need to use my .ZIP and upgrade all the things.
If anyone is affected by this issue and needs to use the ZIP (because they followed the advice of earlier commenters) but doesn't want Blue Ocean, please comment here and I can see about crafting a zip without blue ocean...
I am claiming that this issue is fixed now after the typo in the update center blocks has been fixed and the mirrors have been synced.
Please re-open if there is still a problem
stephenconnolly - tried unzipping those plugins from this comment to a fresh version of Jenkins for testing using the plugin list of:
(Note: using latest in update center right now until I get a closer reproduction to our production instance)
final plugins = [ 'ace-editor', 'ansicolor', 'ant', 'antisamy-markup-formatter', 'authentication-tokens', 'bouncycastle-api', 'branch-api', 'build-blocker-plugin', 'build-flow-plugin', 'build-name-setter', 'build-timeout', 'buildgraph-view', 'cloudbees-bitbucket-branch-source', 'cloudbees-folder', 'conditional-buildstep', 'config-file-provider', 'copyartifact', 'credentials', 'credentials-binding', 'custom-tools-plugin', 'display-url-api', 'docker-build-publish', 'docker-build-step', 'docker-commons', 'docker-custom-build-environment', 'docker-workflow', 'durable-task', 'email-ext', 'envinject', 'extended-choice-parameter', 'external-monitor-job', 'flexible-publish', 'gatling', 'git', 'git-client', 'git-server', 'github', 'github-api', 'github-branch-source', 'github-organization-folder', 'gradle', 'greenballs', 'handlebars', 'htmlpublisher', 'icon-shim', 'jackson2-api', 'javadoc', 'job-dsl', 'job-restrictions', 'jobConfigHistory', 'jquery', 'jquery-detached', 'junit', 'ldap', 'lockable-resources', 'mailer', 'managed-scripts', 'mapdb-api', 'matrix-auth', 'matrix-project', 'maven-plugin', 'mercurial', 'metrics', 'momentjs', 'multiple-scms', 'pam-auth', 'parameterized-trigger', 'pipeline-build-step', 'pipeline-github-lib', 'pipeline-graph-analysis', 'pipeline-input-step', 'pipeline-milestone-step', 'pipeline-rest-api', 'pipeline-stage-step', 'pipeline-stage-view', 'pipeline-utility-steps', 'plain-credentials', 'promoted-builds', 'python', 'rebuild', 'resource-disposer', 'run-condition', 'scm-api', 'script-security', 'ssh-agent', 'ssh-credentials', 'ssh-slaves', 'stash-pullrequest-builder', 'structs', 'subversion', 'throttle-concurrents', 'timestamper', 'token-macro', 'windows-slaves', 'workflow-aggregator', 'workflow-api', 'workflow-basic-steps', 'workflow-cps', 'workflow-cps-global-lib', 'workflow-durable-task-step', 'workflow-job', 'workflow-multibranch', 'workflow-scm-step', 'workflow-step-api', 'workflow-support', 'ws-cleanup', ]
And run into a couple errors:
From the logs:
WARNING: Some health checks are reporting as unhealthy: [plugins : There are 23 failed plugins: blueocean-jwt.jpi; favorite.jpi; bootstrap.jpi; pipeline-github-lib.jpi; variant.jpi; blueocean-display-url.jpi; blueocean-rest.jpi; blueocean-i18n.jpi; blueocean-events.jpi; blueocean-commons.jpi; blueocean-autofavorite.jpi; blueocean-web.jpi; blueocean-config.jpi; pubsub-light.jpi; sse-gateway.jpi; blueocean-dashboard.jpi; blueocean.jpi; blueocean-git-pipeline.jpi; blueocean-github-pipeline.jpi; blueocean-rest-impl.jpi; blueocean-pipeline-api-impl.jpi; blueocean-personalization.jpi; github-organization-folder]
And in the UI:
OK, I'll see if that is missing in the zip. until then you can get that from https://jenkins-updates.cloudbees.com/download/plugins/pipeline-github-lib/1.0/pipeline-github-lib.hpi
What is the sha1sum of the zip that you downloaded?
$ unzip -l ~/Dropbox/scm-api.zip pipeline-github-lib.jpi Archive: /Users/stephenc/Dropbox/scm-api.zip Length Date Time Name --------- ---------- ----- ---- 8479 01-16-2017 17:28 pipeline-github-lib.jpi --------- ------- 8479 1 file
gsha1sum ~/Downloads/scm-api.zip c7b6279f8b8aebf9893bfa35a6c33e0a6537b7ea /Users/mkobit/Downloads/scm-api.zip
If I unzip it I see that file in there as well, so maybe I screwed something else up.
stephenconnolly, I had downgraded back to GitHub Branch Source 1.10.1 to resolve the issue (without attempting to upgrade SCM API to 2.0.2), and it seems to be operational with no warnings or issues. Would the irreversible migration only have occurred if the v2 GitHub Branch Source plugin had actually loaded, and that load was blocked by the out of date SCM API I was/am using?
I'm currently running the latest versions of all LTS plugins apart from Cobertura (due to JENKINS-30700) and Dashboard (due to JENKINS-35414).
I was able to get the unzip to work to with our actual production plugins configuration, but not with the "download list of latest" plugins that I had set up for development.
Thanks stephenconnolly for the quick response.
I'm seeing the same problem. I just updated Jenkins:alpine docker container from 2.32.1 to 2.32.2 and only see SCM API plugin version 1.3 available.
medianick Correct, the migration would only have occurred if the plugin had started, because it didn't start your data was not migrated and hence you are fine.
dskow Currently you should only see SCM API 1.3 available.
If you have managed to get GitHub Branch Source 2.0.1 installed on your instance due to bad luck when accessing the cache (or similarly with BitBucket Branch Source) you can download the 1.x version from https://jenkins-updates.cloudbees.com/download/plugins/github-branch-source/ (or https://jenkins-updates.cloudbees.com/download/plugins/cloudbees-bitbucket-branch-source/ for bitbucket)
Specifically you would want https://jenkins-updates.cloudbees.com/download/plugins/github-branch-source/1.10.1/github-branch-source.hpi (or BitBucket people want https://jenkins-updates.cloudbees.com/download/plugins/cloudbees-bitbucket-branch-source/1.9/cloudbees-bitbucket-branch-source.hpi)
On monday you can safely upgrade all plugins to the 2.0.x lines when we put everything into the update center in one go.
For more context read the draft of the blog post to go out on Monday here: https://github.com/stephenc/jenkins.io/blob/ff6002e76c664dc71738d3ceb19273f3bc5c830b/content/blog/2017/2017-02-06-scm-api-2-take2.adoc
The error I get is:
There are dependency errors loading some plugins: