Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins使用DSL将git子模块添加到multibranchPipelineJob_Jenkins_Jenkins Job Dsl - Fatal编程技术网

Jenkins使用DSL将git子模块添加到multibranchPipelineJob

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

我有一个DSL脚本来创建Jenkins管道作业

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,我如何添加“发现分支”部分,我还想克隆标记,找不到任何相关文档