同步的内部版本号

时间:2015-04-07 08:35:04

标签: groovy jenkins

我有3份工作:

  1. 调试版本(提交后)。
  2. 质量保证版(手册,计时器)。
  3. 发布版本(由2,手动触发)。
  4. 第二个工作的构建应该比第一个工作的最新构建大一个BUILD_NUMBER,当第二个工作触发第三个工作时,他应该具有与第二个相同的BUILD_NUMBER。当手动触发第三个工作时,他的BUILD_NUMBER应该比第一个工作的最新版本大一号。

    我希望我写的内容是可以理解的; P

    我在groovy中编写了脚本:

    import jenkins.model.*
    
    jenkinsInstance = jenkins.model.Jenkins.instance
    
    searchedJobName = "^synchronize_build_numbers.*"
    jobName = "synchronize_build_numbers_qa"
    allItems = jenkinsInstance.items
    if ("${JOB_NAME}" == jobName) {
        chosenJob = allItems.findAll{ job -> job.name.matches("synchronize_build_numbers_release") }
        chosenJob.each{ job -> job.nextBuildNumber = "${BUILD_NUMBER}".toInteger() }
    } else {
        chosenJobs = allItems.findAll{ job -> job.name.matches(searchedJobName) }
        buildNumber = chosenJobs.collect{ job -> job.nextBuildNumber }.max()
        chosenJobs.each{ job -> job.nextBuildNumber = buildNumber }
    }
    
    return [:]
    

    它有效,但我想让这个脚本更具普遍性。

0 个答案:

没有答案
相关问题