我已将dsl作业配置为删除未引用的作业,并且我想保留以下内容:
我试图做到这一点:
def bitbucket_team = 'myteam' def bitbucket_user = 'mycreds' def repo_arr = ['job1','job2'] repo_arr.collect { repo -> println "${repo}" multibranchPipelineJob("${repo}") { configure { it / sources / data / 'jenkins.branch.BranchSource' / source(class: 'com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource') { credentialsId("${bitbucket_user}") //checkoutCredentialsId('bitbucket-ssh-key') // can use ssh key here instead of a BB user repoOwner("${bitbucket_team}") repository("${repo}") includes('*') excludes() traits { 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'() { strategyId(1) // Exclude branches that are also filed as PRs //strategyId(2) // Only branches that are also filed as PRs //strategyId(3) // All branches } 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'() { strategyId(1) } 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'(){ strategyId(1) // Merging the pull request with the current target branch revision //strategyId(2) // The current pull request revision //strategyId(3) // Both the current pull request revision and the pull request merged with the current target branch revision //Default to trust forks in same account } 'com.cloudbees.jenkins.plugins.bitbucket.WebhookRegistrationTrait'() { mode('ITEM') } } } } } // Add jobs to a list view listView('myview') { jobs { name("${repo}") } columns{ status() weather() name() lastSuccess() lastFailure() lastDuration() buildButton() } } } // End repo_arr.collect
Jenkins创建job1,但是在创建job2时将其删除。如何遍历列表以创建多个作业?
也许我可以构建multibranchPipelineJob objs和listView.jobs的映射/闭合,然后以某种方式将其传递给dsl?
我愚蠢的工作本身实际上已经创建好,只是列表视图代替了他们。之所以有意义,是因为我为每次迭代都创建了相同的列表视图。
https://gist.github.com/kyounger/83134869ea523b3661f0
我只需要将其移出循环即可:
listView('mylist') { jobs { jobsarry.each { job -> name(job) } } columns{ status() weather() name() lastSuccess() lastFailure() lastDuration() buildButton() } }