为所有github repos生成jenkins作业

时间:2014-05-10 06:36:24

标签: github jenkins

我想在Jenkins中设置一些自动化,定期轮询我们的github组织中的repos列表,并根据作业模板自动为每个Git repos设置一个jenkins作业。

实现这一目标的可能解决方案是什么?谢谢!

2 个答案:

答案 0 :(得分:6)

您可以使用Jenkins Job DSL plugin

这是创建和修改其他作业的作业中的构建步骤

来自Wiki:

  

job-dsl-plugin允许以编程方式创建项目   一个DSL。将作业创建推送到脚本允许您自动化和   标准化您的Jenkins安装,不同于任何可能的   之前。

一个例子是:

def organization = 'jenkinsci'
repoApi = new URL("https://api.github.com/orgs/${organization}/repos")
repos = new groovy.json.JsonSlurper().parse(repoApi.newReader())
repos.each {
  def repoName = it.name
  job {
    name "${organization}-${repoName}".replaceAll('/','-')
    scm {
      git("git://github.com/${organization}/${repoName}.git", "master")
    }
  }
}

答案 1 :(得分:0)

詹金斯管道现在是最佳选择。

它使用Jenkinsfile定义管道,您可以在其中检查您的回购。

哪种最佳做法是像这样的文件

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building..'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing..'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying....'
            }
        }
    }
}

如上所述in the documentation