Estou convertendo alguns trabalhos do Jenkins em scripts DSL.
Algumas delas usam o github para SCM e, como isso é suportado pela DSL, isso é fácil de configurar. No entanto, depois de mais de 100 conversões de emprego, pela primeira vez eu preciso especificar um executável Git (todos os trabalhos até agora usaram o padrão) e não parece haver uma maneira de fazer isso. O job.xml mostra isso:
<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>
Eu posso fazer tudo isso usando o DSL, além de <gitTool>Ubuntu Git</gitTool>
.
Isso não é mencionado no DSL, então eu presumo que isso não é suportado, então eu tentei usar o bloco configure (tendo em mente que eu ainda estou aprendendo exatamente como usar isso). Tentei algumas coisas, mas a que eu mais esperava trabalhar:
configure { project ->
project << 'hudson.plugins.git.GitSCM' {
paramDefs << 'gitTool' {
string('Ubuntu Git')
}
}
}
Mas não há dados - o XML ainda mostra a opção "padrão".
Estou surpreso que isso não possa ser especificado diretamente na DSL, mas alguém pode ver o que estou fazendo de errado com esse bloco de configuração?