Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-35080

Multi SCMs Starting Build With Every Poll

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Component/s: multiple-scms-plugin
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      I am using the multi scms plugin to check two svn repos and one git repo for changes.
      The git repo and one svn repo poll correctly and start the build no problem.

      One repository has been kicking off a build every time it polls, because it says the workspace doesn't contain the repo and it needs a new build.

      Here is a mockup of the path to our repository (where bar is the project):
      svn+ssh://foo.org//src/svn/bar/trunk

      Here is how our subversion module is configured:
      Repository URL: svn+ssh://foo.org//src/svn/bar/trunk
      Credentials: user/*******(svn+ssh://foo.org)
      Local module directory: bar
      Repository depth: infinity
      Ignore externals: checked

      Check-out Strategy: Emulate clean checkout by first deleting unversioned/ignored files, then 'svn update'.

      Here is the polling log:

      Started on May 23, 2016 12:25:00 PM
      Using strategy: Default
      [poll] Last Built Revision: Revision e9ef05725627ef4a32fa7f05341aeb20675976be (refs/remotes/origin/master)
      using GIT_SSH to set credentials
      > git --version # timeout=10
      > git ls-remote -h git@foo:.git # timeout=10
      Found 1 remote heads on git@foo.org:some/project.git
      [poll] Latest remote head revision on refs/heads/master is: e9ef05725627ef4a32fa7f05341aeb20675976be - already built by 262
      Workspace doesn't contain svn+ssh://foo.org//src/svn/bar/trunk. Need a new build.
      Received SCM poll call on master for foo on May 23, 2016 12:25:01 PM
      svn+ssh://foo.org/second/svn/project/trunk/project is at revision 16,509
      Done. Took 1.1 sec
      Changes found

      And here is the strange part. In the Console Output, it can find the missing svn project:

      Started by an SCM change
      [EnvInject] - Loading node environment variables.
      Building on master in workspace /var/lib/jenkins/jobs/foo/workspace
      > git rev-parse --is-inside-work-tree # timeout=10
      Fetching changes from the remote Git repository
      > git config remote.origin.url git@foo.org:some/project.git # timeout=10
      Cleaning workspace
      > git rev-parse --verify HEAD # timeout=10
      Resetting working tree
      > git reset --hard # timeout=10
      > git clean -fdx # timeout=10
      Fetching upstream changes from git@foo.org:some/project.git
      > git --version # timeout=10
      using GIT_SSH to set credentials
      > git fetch --tags --progress git@foo.org:some/project.git +refs/heads/:refs/remotes/origin/
      > git rev-parse refs/remotes/origin/master^

      {commit} # timeout=10
      > git rev-parse refs/remotes/origin/origin/master^{commit}

      # timeout=10
      Checking out Revision e9ef05725627ef4a32fa7f05341aeb20675976be (refs/remotes/origin/master)
      > git config core.sparsecheckout # timeout=10
      > git checkout -f e9ef05725627ef4a32fa7f05341aeb20675976be
      > git rev-list e9ef05725627ef4a32fa7f05341aeb20675976be # timeout=10
      Cleaning up /var/lib/jenkins/jobs/foo/workspace/trunk
      Updating svn+ssh://foo.org//src/svn/bar/trunk at revision '2016-05-23T12:35:09.112 -0600'
      At revision 16514

      Cleaning up /var/lib/jenkins/jobs/foo/workspace/bar
      Updating svn+ssh://foo.org/second/svn/project/trunk/project at revision '2016-05-23T12:35:09.112 -0600'
      At revision 16514

        Attachments

          Activity

          Hide
          rodrigc Craig Rodrigues added a comment -

          Suggest that you migrate to Pipeline plugin, which offers a supported way of checking out from multiple scms
          https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

          Show
          rodrigc Craig Rodrigues added a comment - Suggest that you migrate to Pipeline plugin, which offers a supported way of checking out from multiple scms https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

            People

            • Assignee:
              kbell Kevin Bell
              Reporter:
              molnar Collin Molnar
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: