以编程方式为github项目创建Jenkins作业

时间:2014-02-05 07:25:35

标签: java github jenkins

如何使用Java以编程方式为github项目创建Jenkins作业以及我们需要在config.xml中配置

任何人都可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin在Jenkins本身创建一个工作来创建其他工作。

您可以添加构建步骤来创建用groovy编写的其他作业,然后根据需要重新生成

这适用于您拥有的任何插件,可以直接使用,也可以通过传递XML结构的配置块

您也可以在不使用Jenkins的情况下创建作业 - 来自https://github.com/jenkinsci/job-dsl-plugin/wiki/User-Power-Moves的示例(您需要从github获取源代码并构建它)

  

将一些作业dsl内容添加到文件中,比如job.dsl

     

运行gradle   命令:./ gradlew run -Pargs = job.dsl

     

注意:run任务加载相对于job-dsl-core的文件   目录,所以我总是把我的测试文件放在那里。注2:如果你的   dsl代码包含一个名为“myJob”的作业,运行任务将生成   myJob.xml。


EDIT 主页上有一个特定的github示例,用于构建项目中的所有分支

def project = 'quidryan/aws-sdk-test'
def branchApi = new URL("https://api.github.com/repos/${project}/branches")
def branches = new groovy.json.JsonSlurper().parse(branchApi.newReader())
branches.each {
    def branchName = it.name
    job {
        name "${project}-${branchName}".replaceAll('/','-')
        scm {
            git("git://github.com/${project}.git", branchName)
        }
        steps {
            maven("test -Dproject.name=${project}/${branchName}")
        }
    }
}