山东电力建设第三工程公司网站,网站做的漂亮的企业,点餐小程序开发,企业全网推广Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
Jenkins脚本命令行应用总结
测试环境
Jenkins 2.304
脚本命令行入口
Jenkins主页→系统管理→脚本命令行
遍历项目
例…Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
Jenkins脚本命令行应用总结
测试环境
Jenkins 2.304
脚本命令行入口
Jenkins主页→系统管理→脚本命令行
遍历项目
例子获取所有自由风格项目及相关项目信息
def projects Jenkins.instance.projects.collect { it } // 获取自由风格的所有项目注意只能获取自由风格项目
println(projects) // 输出[hudson.model.FreeStyleProject4b8b02d[AutoTest-OMG], hudson.model.FreeStyleProject2b953627[AutoTest-QDD],...,]
for(def project : projects) { println(project.name) // 获取项目名称 println(project.getBuilds()) // 获取构建记录输出[AutoTest-OMG #190, AutoTest-OMG #189, ...,]println(job.nextBuildNumber) // 获取下一次构建号形如256
}
遍历Job
def jobNames Jenkins.instance.getJobNames()
for (def jobName : jobNames) {println(jobName) // 注意如果是多分支项目则输出名称为fullName形如alpha-Deployer/vip}
批量删除Jenkins 项目构建记录
例子删除所有Job最后5次构建之前的所有历史构建记录即仅保留最近5次构建记录
def jobNames Jenkins.instance.getJobNames()
for (def jobName : jobNames) {def job Jenkins.instance.getItemByFullName(jobName)job.getBuilds().findAll { it.number job.nextBuildNumber - 5 }.each { it.delete() }
}
例子删除FREE-STYLE-PROJECT项目构建号大于10的构建记录
def projectName FREE-STYLE-PROJECT // 项目名称
def project Jenkins.instance.getItem(projectName)
project.getBuilds().findAll { it.number 10 }.each { it.delete() }
非多分支项目
例子删除FREE-STYLE-PROJECT项目的所有构建记录
def jobName FREE-STYLE-PROJECT // 项目名称
def job Jenkins.instance.getItem(jobName) // 本行代码也可以使用 def job Jenkins.instance.getItemByFullName(jobName) 替代println(job.getClass()) // 输出org.jenkinsci.plugins.workflow.job.WorkflowJob
println(job.getBuilds().getClass()) // 输出class hudson.util.RunList
job.getBuilds().each { println(it.getClass()) } // 输出class org.jenkinsci.plugins.workflow.job.WorkflowRunjob.getBuilds().each { it.delete() } // 删除所有构建记录
多分支项目
例子删除CI-Builder项目omg job的所有构建记录
def jobName CI-Builder/omg
def job Jenkins.instance.getItemByFullName(jobName)
job.getBuilds().each { it.delete() }
例子删除CI-Builder项目所有job的所有构建记录并重置每个job的下次构建号为1
def projectName CI-Builder
def project Jenkins.instance.getItem(projectName) def jobs project.getItems().each {def job itjob.getBuilds().each { it.delete() }job.nextBuildNumber 1job.save()
}
作者授客本文版权归原作者所有仅供学习参考之用转载请注明出处https://blog.csdn.net/shouke/p/16104285.html未经作者允许请务必保留此段声明