Попытка воссоздать раздел "сценарий конвейера из SCM" задания Jenkins в коде DSL - PullRequest
1 голос
/ 22 сентября 2019

Я использую Jenkins версии 1.658 и плагин Job DSL в версии 1.43, я работаю над преобразованием существующего задания Pipeline в задание, сгенерированное DSL.В исходной работе был раздел «конвейерный скрипт из SCM», и я не могу найти код для его создания в DSL.Я знаю, что в новых версиях плагина DSL у меня есть конфигурация cpsScm, которая работает для этого раздела, но она не подходит для используемой версии.Поэтому я попытался создать это с помощью раздела конфигурации в коде, когда я заявляю версии плагинов, которые используются в работе.

Вот одна из моих попыток:

configure {
    def workflow = it / 'org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition' (plugin: 'workflow-cps@2.23') {
    workflow << it / 'scm' / 'hudson.plugins.git.GitSCM' (plugin: 'git@3.0.3') {
            configVersion 2
        }
    }

Вот как эта часть выглядит в config.xml задания Jenkins, над которым я работаю:

<flow-definition plugin="workflow-job@2.9">
.
.
.
<definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.23">
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.0.3">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<url>https://github.com/XXXXX.git</url>
<credentialsId>XXXXX</credentialsId>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<submoduleCfg class="list"/>
<extensions/>
</scm>
<scriptPath>buildScripts/workflow_deploy.groovy</scriptPath>
</definition>
<triggers/>
</flow-definition>

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

спасибо!

...