【发布时间】:2014-03-01 12:26:49
【问题描述】:
如何在 Java 中以编程方式为 github 项目创建 Jenkins 作业以及我们需要在 config.xml 中配置的内容
谁能帮帮我?
【问题讨论】:
如何在 Java 中以编程方式为 github 项目创建 Jenkins 作业以及我们需要在 config.xml 中配置的内容
谁能帮帮我?
【问题讨论】:
您可以使用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
注意:运行任务加载相对于job-dsl-core的文件 目录,所以我总是把我的测试文件放在那里。注2:如果你 dsl 代码包含一个名为“myJob”的作业,运行任务将生成 myJob.xml。
编辑 主页上有一个特定的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}")
}
}
}
【讨论】: