zoukankan      html  css  js  c++  java
  • 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")
    }
    
  • 相关阅读:
    【每日经典】李嘉诚:赚钱可以无处不在、无时不有
    hadoop yarn running beyond physical memory used
    Hadoop执行作业时报错:java.lang.OutOfMemoryError: Java heap space
    hadoop 問題
    微信小程序-scroll-view组件
    微信小程序-view组件
    微信小程序登录
    SignalR实时通信
    手机端-上传头像并裁剪
    PC端-上传头像并裁剪
  • 原文地址:https://www.cnblogs.com/jrri/p/14837724.html
Copyright © 2011-2022 走看看