git jenkins SCM使用多个回购协议时出现的 checkout 轮询问题

cld4siwp  于 2022-11-27  发布在  Git
关注(0)|答案(1)|浏览(107)

我有一个Jenkins作业,我正在 checkout 2个存储库,第一个存储库“dev”包含src代码和Jenkinsfile,这个存储库在Jenkins UI中配置,并启用了PollScm。第二个存储库是“devops”,我正在用groovy脚本声明性管道中的稀疏 checkout checkout 这个存储库。

stage('Checkout DevopsScripts') {
        steps {
            script{
                dir('devops'){
                 def scmVar = checkout([$class: 'GitSCM', \
                    branches: [[name: '*/master']], \
                    doGenerateSubmoduleConfigurations: false, \
                    extensions: [[$class: 'SparseCheckoutPaths',  sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'Scripts/testScript/']]]], \
                    submoduleCfg: [], \
                    userRemoteConfigs: [[credentialsId: 'XXXXXXX', url: "https://github.com/org/devops.git"]], \
                    poll: false, \
                    changelog: false
                    ])
                }
            }
        }
    }

现在我希望PollScm只对“dev”repo中发生的提交执行,PollScm应该忽略“devops”repo中发生的提交。但即使在启用poll之后:false Jenkins作业会在两个存储库中发生的任何提交时触发。我已经浏览了文档“https://plugins.jenkins.io/workflow-scm-step/“,其中显示“您可以指定轮询:false来禁用SCM checkout 的轮询”,这在我的案例中没有发生。Jenkins中是否存在与此问题相关的错误,或者我在这里遗漏了什么。

holgip5t

holgip5t1#

这是Jenkins中的已知错误,截至2022年11月23日尚未修复。请参阅Jenkins-60757 on the bug tracker:'“poll:false”在scm(和git)管道步骤中无效'。
因此,基本上poll: false标志现在不起作用。

相关问题