Блок конфигурации Jenkins dsl создает дубликаты вкладок

Я пытаюсь создать задание DSL, которое создает задание с несколькими филиалами, Задание создается успешно, но в многоконвейерном задании отсутствуют некоторые конфигурации, поэтому я попытался использовать блок «настроить».

Блок конфигурации действительно был создан, но он создал дубликат «тега» jenkins.branch.BranchSource. Думаю, я что-то упускаю. Я перепробовал массу манипуляций, но у меня ничего не получилось. Любой совет?

Это мой отличный 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 создает дубликаты вкладок

"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
"DevOps: Jenkins & AWS Series, часть 5: Установка Gradle на Ubuntu 22.04
В этой статье блога мы проведем вас через процесс установки Gradle на Ubuntu 22.04, интеграции его с Jenkins и создания задания Gradle. Мы...
1
0
388
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что ж, после долгих мучений я думаю, что моя проблема заключалась в том, что я не определил некоторые из ТЕГИ как плагины в groovy DSL, и удаление раздела «мерзавец» также помогло.

Итак, Final groovy, который, наконец, сработал, был таким:

branchSources {
    configure {
        it / sources / data / "jenkins.branch.BranchSource" <<  source (class: "jenkins.plugins.git.GitSCMSource", plugin:"[email protected]")  {
            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 от поиска правильного тега, поэтому он автоматически создает новый.

Quartz 03.12.2019 21:14

Другие вопросы по теме