Jenkins使用DSL将git子模块添加到multibranchPipelineJob
我有一个DSL脚本来创建Jenkins管道作业Jenkins使用DSL将git子模块添加到multibranchPipelineJob,jenkins,jenkins-job-dsl,Jenkins,Jenkins Job Dsl,我有一个DSL脚本来创建Jenkins管道作业 String[] repos = ['xxx'] for (int i = 0; i < repos.length; i++) { repoName = repos[i]; multibranchPipelineJob('PIPELINE-'+repoName) { branchSources { git { remote('gi
String[] repos =
['xxx']
for (int i = 0; i < repos.length; i++) {
repoName = repos[i];
multibranchPipelineJob('PIPELINE-'+repoName) {
branchSources {
git {
remote('git@github.com:yyy/'+repoName+'.git')
credentialsId('112233445566')
}
}
description ("""<p> <b>generate by DSL - DO NOT CHANGE Manually </b> <p>""")
triggers {
periodic(2)
}
orphanedItemStrategy {
discardOldItems {
numToKeep(0)
daysToKeep(0)
}
}
}
}
String[]repos=
['xxx']
对于(int i=0;i
我想添加附加行为-高级子模块行为内置DSL不支持“附加行为”,但:
内置DSL不支持“其他行为”,但:
下面是一个添加子模块标记和分支发现的脚本
multibranchPipelineJob('example') {
branchSources {
branchSource {
source {
git {
credentialsId('1111-2222-3333')
remote('git@github.com:xxx/yyyy.git')
traits {
submoduleOptionTrait {
extension {
disableSubmodules(false)
recursiveSubmodules(true)
trackingSubmodules(false)
reference(null)
timeout(null)
parentCredentials(true)
}
}
cloneOptionTrait {
extension {
shallow (false)
noTags (false)
reference (null)
depth(0)
honorRefspec (false)
timeout (10)
}
}
}
}
}
}
}
triggers {
periodic(2)
}
configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'jenkins.plugins.git.traits.BranchDiscoveryTrait' {}
}
}
multi-branchpipelinejob('example')){
分支资源{
分支源{
来源{
吉特{
凭证ID('1111-2222-3333')
远程('git@github.com:xxx/yyyy.git')
特征{
子模块行为特征{
延伸{
禁用子模块(错误)
递归子模块(真)
跟踪子模块(错误)
引用(空)
超时(空)
父凭据(true)
}
}
克隆性状{
延伸{
浅(假)
注释(假)
引用(空)
深度(0)
荣誉参考规范(错误)
超时(10)
}
}
}
}
}
}
}
触发{
定期报告(2)
}
配置{
def traits=it/sources/data/'jenkins.branch.BranchSource'/source/traits
traits下面是一个脚本,它添加子模块标记和分支发现
multibranchPipelineJob('example') {
branchSources {
branchSource {
source {
git {
credentialsId('1111-2222-3333')
remote('git@github.com:xxx/yyyy.git')
traits {
submoduleOptionTrait {
extension {
disableSubmodules(false)
recursiveSubmodules(true)
trackingSubmodules(false)
reference(null)
timeout(null)
parentCredentials(true)
}
}
cloneOptionTrait {
extension {
shallow (false)
noTags (false)
reference (null)
depth(0)
honorRefspec (false)
timeout (10)
}
}
}
}
}
}
}
triggers {
periodic(2)
}
configure {
def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
traits << 'jenkins.plugins.git.traits.BranchDiscoveryTrait' {}
}
}
multi-branchpipelinejob('example')){
分支资源{
分支源{
来源{
吉特{
凭证ID('1111-2222-3333')
远程('git@github.com:xxx/yyyy.git')
特征{
子模块行为特征{
延伸{
禁用子模块(错误)
递归子模块(真)
跟踪子模块(错误)
引用(空)
超时(空)
父凭据(true)
}
}
克隆性状{
延伸{
浅(假)
注释(假)
引用(空)
深度(0)
荣誉参考规范(错误)
超时(10)
}
}
}
}
}
}
}
触发{
定期报告(2)
}
配置{
def traits=it/sources/data/'jenkins.branch.BranchSource'/source/traits
特征谢谢,这看起来很好,但出于某种原因我无法添加凭据…,有什么想法吗?好的,找到问题需要用凭据更新id ID2更多Q,我如何才能添加“发现分支”部分,我还想克隆标记,找不到关于iThanks的任何文档,这看起来很好,但出于某种原因我无法添加凭据…,有什么想法吗?好的,找到问题需要用凭据更新id ID2更多Q,我如何添加“发现分支”部分,我还想克隆标记,找不到任何相关文档