• 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")
    }
    
  • 相关阅读:
    <c:if></c:if>用法-转载
    Windows下配置Apache服务器
    ScrureCRT访问CentOS时出现乱码的解决办法
    Windows平台下Git服务器搭建
    Group_Concat函数示例
    Mysql Federated Server 示例
    MySQL几个特别语法示例
    MySQL事件调度器
    Disruptor Java版和.NET版的区别
    委托的三种实现方式
  • 原文地址:https://www.cnblogs.com/jrri/p/14837724.html
Copyright © 2020-2023  润新知