Jenkins腳本命令列應用總結
測驗環境
Jenkins 2.304
腳本命令列入口
Jenkins主頁→系統管理→腳本命令列
遍歷專案
例子:獲取所有自由風格專案及相關專案資訊
def projects = Jenkins.instance.projects.collect { it } // 獲取自由風格的所有專案,注意,只能獲取自由風格專案
println(projects) // 輸出:[hudson.model.FreeStyleProject@4b8b02d[AutoTest-OMG], hudson.model.FreeStyleProject@2b953627[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.WorkflowRun
job.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 = it
job.getBuilds().each {
it.delete()
}
job.nextBuildNumber = 1
job.save()
}
作者:授客
微信/QQ:1033553122
全國軟體測驗QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額隨意,您的支持將是我繼續創作的源動力,打賞后如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測驗交流QQ群
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/456158.html
標籤:其他
上一篇:《惡意》--- 東野圭吾 無邊的惡意,深不見底......
下一篇:poj3934Queue
