• Jenkins复制流水线命令行


    jenkins 流水线批量复制

    功能

    需要批量复制流水线的时候,可将所有的流水线都放置在对应的视图内,进行批量复制

    使用方式

    1. 把需要复制的流水线都放置在同一个视图A内.
    2. 手动新建一个视图B,准备放置复制出来的新流水线.
    3. jenkins ==> 系统管理 ==> 脚本命令行
    4. 修改脚本内的参数与需求对应,运行即可

    代码

    import hudson.model.*
    // 3个参数分别,已经有的视图,手动建的新视图,新流水线的前缀
    srcView = "Dev"
    newView = "SIT"
    newJobNameSingal = "new_"
    
    view = Hudson.instance.getView(srcView)
    
    for (item in view.getItems()) {
    
        println(item)
        //获取
        name = item.getName()
        newName = newJobNameSingal + name
        // 如果需要替换 旧流水线名字内已经有的字符,则使用replace方法,例如把dev_开头流水线改为new_开头
        // newName = name.replace("dev_", "new_")
        // 复制流水线和保存
        def job
        try {
            job = Hudson.instance.copy(item, newName)
        } catch (IllegalArgumentException e) {
            //跳过已存在的job
            println(e.toString())
            println("$newName job is exists")
            continue
    
        } catch (Exception e) {
            println(e.toString())
            continue
        }
    
        // 新建后禁用
        // job.disabled = true
        job.save()
    
        // 修改流水线内的具体参数,如需要可进行调整
        // AbstractProject project = job
        // def newWorkSpace = project.getCustomWorkspace().replace(name, newName)
        // project.setCustomWorkspace(newWorkSpace)
        // project.save()
    
        
        // 把新创建的流水线加入到新的视图中
        Hudson.instance.getView(newView).add(job)
        println(" $item.name copied as $newName")
    }
    
  • 相关阅读:
    【转】探秘Java中的String、StringBuilder以及StringBuffer
    【转】深入剖析Java中的装箱和拆箱
    谈谈我对多态的理解
    mysql组合索引之最左原则
    白衣浅谈各个集合的特性
    Linux 下的两个特殊的文件 -- /dev/null 和 /dev/zero 简介及对比
    内网穿透工具的原理与开发实战
    nohup命令说明-转载
    springboot 启动jar正确方式
    maven版本仲裁原则
  • 原文地址:https://www.cnblogs.com/jrri/p/14837724.html
Copyright © 2020-2023  润新知