我使用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 –