丢弃多分支管道作业中的旧构建,并没有真正从服务器中删除构建
Discard old build in multi-branch pipeline job, doesn't really delete builds from server
我在 Jenkins 中有多个分支管道作业:
http://illinXXXX:XXXX/job/OC/configure
我检查了丢弃旧版本的选项,如下所示:
我原以为,在此更改之后,每个新的 运行 都会从服务器中删除该管道内每个存储库的旧版本。但是,我看到所有构建仍然存在,这导致我出现文件系统问题。
詹金斯 link:
http://illinXXX:XXXX/job/OC/job/productconfigurator-ms/job/master/
来自服务器:
jenkins@XXXXX:jenkins/jenkins-production/jobs/OC/jobs/productconfigurator-ms/branches/master/builds>
我看到从 541 到 1039 的版本
詹金斯版本。 2.176.1
您粘贴的界面用于孤立项目。孤立项是指已删除的分支,其中没有可用的 Jenkinsfile。
对于多分支管道,构建每个分支的指令都在该分支的 Jenkinsfile 中。这是您需要定义这些限制的地方。
在您的 Jenkinsfile 中使用以下内容(从上方,在 master
分支中):
options {
buildDiscarder(logRotator(numToKeepStr: "100"))
}
确保使用字符串(如 "100"
)而不是数字(如 100
)。
参数:
daysToKeepStr
: 历史只保留这么多天
numToKeepStr
: 只保留这么多构建日志。
artifactDaysToKeepStr
: 工件只保留了这么多天。
artifactNumToKeepStr
:只有这么多构建保留了它们的工件。
您可能需要手动 运行 您的 master
管道一次才能正常工作。
这相当于脚本管道:
node('some-label') {
properties([
buildDiscarder(
logRotator(
artifactDaysToKeepStr: "10",
artifactNumToKeepStr: "50",
daysToKeepStr: "10",
numToKeepStr: "50")
)
])
stage('Maven Compile') {
}
stage('Some other steps') {
}
}
我在 Jenkins 中有多个分支管道作业:
http://illinXXXX:XXXX/job/OC/configure
我检查了丢弃旧版本的选项,如下所示:
我原以为,在此更改之后,每个新的 运行 都会从服务器中删除该管道内每个存储库的旧版本。但是,我看到所有构建仍然存在,这导致我出现文件系统问题。 詹金斯 link:
http://illinXXX:XXXX/job/OC/job/productconfigurator-ms/job/master/
来自服务器:
jenkins@XXXXX:jenkins/jenkins-production/jobs/OC/jobs/productconfigurator-ms/branches/master/builds>
我看到从 541 到 1039 的版本
詹金斯版本。 2.176.1
您粘贴的界面用于孤立项目。孤立项是指已删除的分支,其中没有可用的 Jenkinsfile。
对于多分支管道,构建每个分支的指令都在该分支的 Jenkinsfile 中。这是您需要定义这些限制的地方。
在您的 Jenkinsfile 中使用以下内容(从上方,在 master
分支中):
options {
buildDiscarder(logRotator(numToKeepStr: "100"))
}
确保使用字符串(如 "100"
)而不是数字(如 100
)。
参数:
daysToKeepStr
: 历史只保留这么多天numToKeepStr
: 只保留这么多构建日志。artifactDaysToKeepStr
: 工件只保留了这么多天。artifactNumToKeepStr
:只有这么多构建保留了它们的工件。
您可能需要手动 运行 您的 master
管道一次才能正常工作。
这相当于脚本管道:
node('some-label') {
properties([
buildDiscarder(
logRotator(
artifactDaysToKeepStr: "10",
artifactNumToKeepStr: "50",
daysToKeepStr: "10",
numToKeepStr: "50")
)
])
stage('Maven Compile') {
}
stage('Some other steps') {
}
}