Я конвертирую некоторые задания Jenkins в скрипты DSL.Использование Jenkins DSL для указания исполняемого файла Git в узле github scm
Некоторые из них используют github для SCM, и поскольку это поддерживается DSL, это достаточно просто настроить. Тем не менее, после более чем 100 преобразований работы, в первый раз мне нужно указать исполняемый файл Git (все задания до сих пор использовали значение по умолчанию), и, похоже, нет способа сделать это. Job.xml показывает это:
<scm class="hudson.plugins.git.GitSCM" plugin="[email protected]">
<configVersion>2</configVersion>
<userRemoteConfigs>...</userRemoteConfigs>
<branches>...</branches>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<gitTool>Ubuntu Git</gitTool>
<submoduleCfg class="list"/>
<extensions>
<hudson.plugins.git.extensions.impl.SparseCheckoutPaths>
<sparseCheckoutPaths>
<hudson.plugins.git.extensions.impl.SparseCheckoutPath>
<path>
octane.pricing/octane.trader/server/work/mif_interface/cfg
</path>
</hudson.plugins.git.extensions.impl.SparseCheckoutPath>
</sparseCheckoutPaths>
</hudson.plugins.git.extensions.impl.SparseCheckoutPaths>
</extensions>
</scm>
, я могу делать все это с помощью DSL помимо <gitTool>Ubuntu Git</gitTool>
.
Это не упоминается в DSL, поэтому я предполагаю, что это не поддерживается, поэтому я попытался использовать блок configure (имея в виду, что я все еще точно знаю, как это использовать). Пытались несколько вещей, но одна я больше всего должен работать:
configure { project ->
project << 'hudson.plugins.git.GitSCM' {
paramDefs << 'gitTool' {
string('Ubuntu Git')
}
}
}
Но не кости - XML, все еще не показывает вариант «по умолчанию».
Я удивлен, что это невозможно указать непосредственно в DSL, но может ли кто-нибудь увидеть, что я делаю неправильно с этим блоком конфигурации?
Какова ценность этой переменной «scmNode» - какой узел ссылается на нее и почему? –
Он ссылается на узел 'scm', как указано в [docs] (https://jenkinsci.github.io/job-dsl-plugin/#path/job-scm-git-configure). – daspilker