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

Global pipeline library & simple 'checkout scm' rebuilds each polling cycle

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • git-plugin
    • None
    • Refer to docker image referenced in description
      git plugin 3.3.0
      git client plugin 2.4.2

      Simple 'checkout scm' with polling defined will always detect changes even when there are no changes. May be related to the added complexity from multiple repositories being polled (since the example job definition uses a global pipeline library).

      More complicated checkout does not have the same issue.

      Steps I took to duplicate the problem:

      1. Copy JDK 8 tar file into my public_html/jdk directory
          $ mkdir -p ~/public_html/jdk/
          $ cp jdk-8u131-linux-*tar.gz ~/public_html/jdk/
        
      2. Copy the jenkins-bugs repo into a local bare repo for faster cloning later
          $ mkdir -p ~/git/bare/bugs/
          $ cd ~/git/bare/bugs/
          $ git clone --mirror https://github.com/MarkEWaite/jenkins-bugs
        
      3. Clone, build, and run the docker instance
          $ git lfs clone https://github.com/MarkEWaite/docker-lfs JENKINS-43754
          $ cd JENKINS-43754
          $ git lfs fetch origin origin/lts-with-plugins
          $ git checkout -b lts-with-plugins origin/lts-with-plugins
          $ docker build -t jenkins:JENKINS-43754 .
          $ VOL1=~/public_html:/var/jenkins_home/userContent/
          $ VOL2=~/git/bare:/var/lib/git/mwaite/
          $ docker run -i --rm --publish 8080:8080 --volume $VOL1 --volume $VOL2 jenkins:JENKINS-43687
        
      4. Connect a web browser to that docker instance (http://localhost:8080)
      5. Open the "Bugs - Pipeline Checks" folder
      6. Open the "jenkins-bugs" multi-branch pipeline job
      7. Click the "Scan Multibranch Pipeline" link and then the "Run Now" link to start branch indexing
      8. Confirm the JENKINS-43687 job runs successfully
      9. Commit a change to the JENKINS-43687 branch, and push the change
          $ git clone https://github.com/MarkEWaite/jenkins-bugs
          $ cd jenkins-bugs
          $ git checkout -b JENKINS-43754 -t origin/JENKINS-43754
          $ ant increment
          $ git push
        
      10. Wait 7 minutes while watching the git polling log, confirm the job runs without a change, if the simple checkout scm is used, and does not run without changes if the more complex checkout is used

            Unassigned Unassigned
            markewaite Mark Waite
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: