【问题标题】:Create Jenkins jobs for github projects programmatically以编程方式为 github 项目创建 Jenkins 作业
【发布时间】:2014-03-01 12:26:49
【问题描述】:

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

谁能帮帮我?

【问题讨论】:

    标签: java github jenkins


    【解决方案1】:

    您可以使用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}")
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      相关资源
      最近更新 更多