Jenkins?腳本命令行應用小結
Jenkins腳本命令行應用總結
測試環(huán)境
Jenkins 2.304
腳本命令行入口
Jenkins主頁→系統(tǒng)管理→腳本命令行
遍歷項目
例子:獲取所有自由風格項目及相關項目信息
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() }
到此這篇關于Jenkins 腳本命令行應用總結的文章就介紹到這了,更多相關Jenkins 腳本命令行應用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
npm script 的文件監(jiān)聽和自動刷新的命令詳解
文件監(jiān)聽的作用是為了實現(xiàn)自動化,釋放雙手和精力,提高效率,讓開發(fā)者更加關注于開發(fā)。這篇文章主要介紹了npm script 的文件監(jiān)聽和自動刷新,需要的朋友可以參考下2019-06-06永恒之藍實戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細過程
這篇文章主要介紹了永恒之藍實戰(zhàn)教程?Mac通過Metasploit攻擊Server2008,首先準備一個Server2008,主要功能是使網(wǎng)絡上的機器能夠共享計算機文件、打印機、串行端口和通訊等資源,需要的朋友可以參考下2022-08-08如何給 GitHub commit 加個綠色圖標(教程詳解)
這篇文章主要介紹了如何給 GitHub commit 加個綠色圖標,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08實例詳解esp8266解析json數(shù)據(jù)的方法
這篇文章主要介紹了實例詳解esp8266解析json數(shù)據(jù)的方法,主要包括要解析的json文件,反序列化數(shù)據(jù)獲取到對象中,通過串口監(jiān)視器輸出解析后的數(shù)據(jù)信息,需要的朋友可以參考下2022-03-03