我使用Jenkins來執行我的項目的日常任務,但是每次執行Jenkins都會在PROJECT_HOME/builds中存儲20MB目錄,所以經過很多處理後,空間在每個項目的磁盤是巨大的(一些詹金斯任務10GB)。Jenkins中的可用空間刪除'builds'目錄
對我來說,存儲先前執行的結果並不是非常重要,所以我想知道的是,如果存在一種方法來說詹金斯不存儲這些信息。
有誰知道如何避免詹金斯存儲舊執行結果?
我使用Jenkins來執行我的項目的日常任務,但是每次執行Jenkins都會在PROJECT_HOME/builds中存儲20MB目錄,所以經過很多處理後,空間在每個項目的磁盤是巨大的(一些詹金斯任務10GB)。Jenkins中的可用空間刪除'builds'目錄
對我來說,存儲先前執行的結果並不是非常重要,所以我想知道的是,如果存在一種方法來說詹金斯不存儲這些信息。
有誰知道如何避免詹金斯存儲舊執行結果?
如果您進入項目的配置頁面,您會發現一個標記爲「放棄舊版本」的複選框。啓用此功能可以指定保留構建的天數以及要保留的構建的最大數量。
如果像我一樣,你只注意到當你的構建失敗時你已經用完了空間,那麼你將需要清除一些較舊的版本來釋放一些空間。首先按照jwernerny的說法改變配置以廢棄舊版本,然後您需要開始構建以觸發清理舊版本。由於缺乏可用空間,構建可能會再次失敗,但現在應該運行後構建清理並丟棄較舊的構建。
如果你想詹金斯丟棄所有舊的構建,而無需重新運行所有作品,那麼你可以運行該位腳本從http://scriptlerweb.appspot.com/script/show/85001採取:
def jobs = Hudson.instance.items
jobs.findAll{it.logRotator}.each {
println("JOB : "+ it.name)
try {
println(it.logRotator.perform(it))
} catch (Exception e) {
println("It didn't work: "+ e)
}
}
注:對詹金斯運行腳本可以去腳本控制檯http://<server>/jenkins/script
。 有關在這裏的控制檯更多信息:https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console
其實我認爲這並不是真的很好刪除自己的文件夾。
讓專家來做。你試過Discard Old Builds Plugin了嗎?
「您可以配置丟棄建立更詳細比 默認‘丟棄舊的構建’功能。除了排名,構建和天, 你可以指定構建狀態丟棄/保持。對於年齡較大的構建,你 可以配置時間間隔來保持構建(每月一次,每十次構建一次...)。還可以使用日誌文件大小來決定是否刪除舊的 構建。「
轉到您的項目配置。
從詹金斯Scriptler控制檯中運行以下Groovy腳本刪除所有建立的視圖
import jenkins.model.Jenkins
hudson.model.Hudson.instance.getView('<ViewName>').items.each() {
println it.fullDisplayName
def jobname=it.fullDisplayName
def item = hudson.model.Hudson.instance.getItem(jobname)
def build = item.getLastBuild()
if (item.getLastBuild() !=null)
{
Jenkins.instance.getItemByFullName(jobname).builds.findAll { it.number <= build.getNumber() }.each { it.delete() }
}
}
http://stackoverflow.com/a/42220002/6549532 –