【问题标题】:Jenkins dsl configure block makes duplicate tabsJenkins dsl配置块使重复选项卡
【发布时间】:2019-05-27 07:12:34
【问题描述】:

我正在尝试创建一个创建多分支管道作业的作业 DSL, 作业已成功创建,但多管道作业中缺少一些配置,因此我尝试使用“配置”块。

确实创建了配置块,但它创建了 jenkins.branch.BranchSource 的重复“标签”我想我遗漏了一些东西'我尝试了大量的操作,但对我没有任何效果。 有什么建议吗?

这是我的 groovy DSL:

multibranchPipelineJob('TestDocker_pipeline_DSL') {     

    branchSources {
        git {
            remote(gitUrl)
            credentialsId('Dev_Builder_ssh')
            //includes("(V[0-9]+.[0-9]+([.]+[0-9]+)*)|(master)")
        }
        configure {
            it / sources / data / "jenkins.branch.BranchSource" << "jenkins.plugins.git.GitSCMSource"  {
                id("8fd33e1d-07b6-4cc4-8f1c-a18d955b4b6e")
                remote(gitUrl)
                credentialsId('Dev_Builder_ssh')
                traits{
                    "jenkins.scm.impl.trait.RegexSCMHeadFilterTrait"{
                        regex("V[0-9]+.[0-9]+([.]+[0-9]+)*)|(master)")
                    }
                }
            }
        }
    }
    factory {
        workflowBranchProjectFactory {
            scriptPath('main/Docker/DockerJenkinsfileSlave.groovy')
        }
    }
    orphanedItemStrategy {
        discardOldItems {
            numToKeep(3)
        }
    }
}

这是正在创建的工作 XML:

【问题讨论】:

    标签: jenkins dsl jenkins-job-dsl


    【解决方案1】:

    好吧,经过一番挣扎,我认为我的问题是我没有将一些 TAGS 定义为 groovy DSL 中的插件并删除“git " 部分也有帮助。

    所以最终奏效的 Final groovy 就是这个:

    branchSources {
        configure {
            it / sources / data / "jenkins.branch.BranchSource" <<  source (class: "jenkins.plugins.git.GitSCMSource", plugin:"git@3.9.2")  {
                remote(gitUrl)
                credentialsId('Dev_Builder_ssh')
                includes('*')
                excludes('')
                ignoreOnPushNotifications(false)
                traits{
                    "jenkins.scm.impl.trait.RegexSCMHeadFilterTrait"{
                        regex("(V[0-9]+.[0-9]+([.]+[0-9]+)*)|(master)")
                    }
                }
            }
        }
    }
    

    这导致了这个漂亮的 XML 工作:

    【讨论】:

    • 我遇到了完全相同的错误,我不确定这不是最常见的问题,Job DSL 创建(至少在最新版本中)所有插件特定条目的版本XML中的相关插件,阻止XML匹配标签找到正确的标签,所以它默默地创建一个新的。
    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多