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

git scm poll doesn't ignore changes with pipeline

    XMLWordPrintable

Details

    Description

      We are using the job as attached with the groovy test.groovy file. We poll the SCM for changes but want to ignore any change that is in our jenkins-jobs git repo. This is because in a full setup we poll more repositories which do change. In the jenkins pipeline we use .* as exclude region. This does work unless we clone the same repository in our test.groovy. There we say poll=false, but the repository is polled and at the moment we make a commit to jenkins-jobs.git the job is run. With these configuration we would expect this job to never run, even when we schedule it frequrently

      Attachments

        1. config.xml
          2 kB
        2. test.groovy
          0.2 kB

        Issue Links

          Activity

            sradi use the option "changelog: false", i had used the Disable with no success, but adding the changelog option fixed everything. You might have to restart Jenkins for the polling to take effect correctly and not use the cache. 

            Here is my git checkout that i dont want to be polled, this repo is cloned into the CI-CD directory inside the project:

            checkout(
            poll:false,
            changelog:false,
            scm: [
            $class:'GitSCM',
            branches: [[name:'master']],
            clean:true,
            extensions: [[$class: 'DisableRemotePoll'],
            [$class: 'PathRestriction', excludedRegions: '*']],
            userRemoteConfigs: [[url: 'GithubURL]],
            credentialsId:'creds-ID,
            ])

            And the polling will look like this:

            Started on Jan 22, 2018 9:43:15 AM Using strategy: Default [poll] Last Built Revision: Revision a2a141227f71769af6e69a0b5d1dacfb6478effe (origin/develop) > git --version # timeout=10 > git ls-remote -h

            ""Github URL"

            1. timeout=10 Found 36 remote heads on

            "Github URL"

            [poll] Latest remote head revision on refs/heads/develop is: a2a141227f71769af6e69a0b5d1dacfb6478effe - already built by 272

            no polling baseline in /Users/mcoeadm/.jenkins/jobs/pe-dev- Davita Dev - Android/workspace/CI-CD on Done. Took 0.69 sec No changes .  --> "THIS IS THE LINE THAT MAKES THE DIFFERENCE"

             

            Hopefully this helps.

            amoreira Alfredo Moreira added a comment - sradi use the option "changelog: false", i had used the Disable with no success, but adding the changelog option fixed everything. You might have to restart Jenkins for the polling to take effect correctly and not use the cache.  Here is my git checkout that i dont want to be polled, this repo is cloned into the CI-CD directory inside the project: checkout( poll:false, changelog:false, scm: [ $class:'GitSCM', branches: [ [name:'master'] ], clean:true, extensions: [ [$class: 'DisableRemotePoll'] , [$class: 'PathRestriction', excludedRegions: '*'] ], userRemoteConfigs: [ [url: 'GithubURL] ], credentialsId:'creds-ID, ]) And the polling will look like this: Started on Jan 22, 2018 9:43:15 AM Using strategy: Default [poll] Last Built Revision: Revision a2a141227f71769af6e69a0b5d1dacfb6478effe (origin/develop) > git --version # timeout=10 > git ls-remote -h ""Github URL" timeout=10 Found 36 remote heads on "Github URL" [poll] Latest remote head revision on refs/heads/develop is: a2a141227f71769af6e69a0b5d1dacfb6478effe - already built by 272 no polling baseline in /Users/mcoeadm/.jenkins/jobs/pe-dev- Davita Dev - Android/workspace/CI-CD on Done. Took 0.69 sec No changes .  --> "THIS IS THE LINE THAT MAKES THE DIFFERENCE"   Hopefully this helps.
            aaronling Aaron Ling added a comment -

            I hit this issue as well. Setting changelog to false and restarting Jenkins seems to bypass the issue.

            aaronling Aaron Ling added a comment - I hit this issue as well. Setting changelog to false and restarting Jenkins seems to bypass the issue.
            nddeshmukh16 Nandlal Deshmukh added a comment - - edited

            @ehaselwanter ,  Thanks a lot, you saved me ..

             Below workaround worked for me 

            extensions: [[$class: 'DisableRemotePoll']]
            
             def scmVars1 = checkout([def scmVars1 = checkout([ $class : 'GitSCM', branches:  [[name: '*/' + "${BRANCH_PARAM}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'DisableRemotePoll']], submoduleCfg : [], userRemoteConfigs: [[url: 'https://github.com/zbcdeshmukhxys/framework.git']] ])
            
            nddeshmukh16 Nandlal Deshmukh added a comment - - edited @ ehaselwanter  ,  Thanks a lot, you saved me ..  Below workaround worked for me  extensions: [[$class: 'DisableRemotePoll' ]] def scmVars1 = checkout([def scmVars1 = checkout([ $class : 'GitSCM' , branches:  [[name: '*/' + "${BRANCH_PARAM}" ]], doGenerateSubmoduleConfigurations: false , extensions: [[$class: 'DisableRemotePoll' ]], submoduleCfg : [], userRemoteConfigs: [[url: 'https: //github.com/zbcdeshmukhxys/framework.git' ]] ])
            igora Igor Fraa added a comment -

            According to Git plugin source 
            [$class: 'DisableRemotePoll']
            is not related to disabling polling. It is for repositories with 'ls-remote' disabled and acts as an alias for requiresWorkspaceForPolling parameter. 

            the only workaround to disable polling is to set 

            [$class: 'PathRestriction', excludedRegions: '', includedRegions: 'no/such/path/exists']
            igora Igor Fraa added a comment - According to Git plugin source   [$class: 'DisableRemotePoll'] is not related to disabling polling. It is for repositories with 'ls-remote' disabled and acts as an alias for requiresWorkspaceForPolling parameter.  the only workaround to disable polling is to set  [$class: 'PathRestriction' , excludedRegions: '', includedRegions: ' no/such/path/exists']

            igora setting path restrictions, as you recommended, did not work for me.

            schlitzered Stephan Schultchen added a comment - igora setting path restrictions, as you recommended, did not work for me.

            People

              Unassigned Unassigned
              jwillemsen Johnny Willemsen
              Votes:
              17 Vote for this issue
              Watchers:
              27 Start watching this issue

              Dates

                Created:
                Updated: