Jenkins复制流水线命令行
jenkins 流水线批量复制
功能
需要批量复制流水线的时候,可将所有的流水线都放置在对应的视图内,进行批量复制
使用方式
- 把需要复制的流水线都放置在同一个
视图A
内. - 手动新建一个
视图B
,准备放置复制出来的新流水线. jenkins
==>系统管理
==>脚本命令行
- 修改脚本内的参数与需求对应,运行即可
代码
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")
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)