如何使用Java以编程方式为github项目创建Jenkins作业以及我们需要在config.xml
中配置
任何人都可以帮帮我吗?
答案 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}")
}
}
}