Jenkins jobs are to clean up tmp files and the workspace folder when they are finished.
Jobs were generating a lot of test data under /tmp that wasn't getting cleaned up, as well as 1GB+ workspaces because of build directories.
And because the jobs in the pipeline don't re-use the built artifact for that SHA (from the first pipeline step), each job clones and builds its own cassandra codebase.
ref: https://issues.apache.org/jira/browse/INFRA-19793
diff --git a/jenkins-dsl/cassandra_job_dsl_seed.groovy b/jenkins-dsl/cassandra_job_dsl_seed.groovy
index c876ebf..36a2c7b 100644
--- a/jenkins-dsl/cassandra_job_dsl_seed.groovy
+++ b/jenkins-dsl/cassandra_job_dsl_seed.groovy
@@ -123,6 +123,16 @@
}
}
}
+ postBuildTask {
+ task('.', '''
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
+ }
}
}
@@ -173,7 +183,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}
@@ -225,7 +243,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}
@@ -282,7 +308,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af "${JOB_BASE_NAME}"; then pkill -9 -f "${JOB_BASE_NAME}"; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}
@@ -461,6 +495,18 @@
buildDescription('', buildDescStr)
shell("git clean -xdff ; git clone -b ${buildsBranch} ${buildsRepo}")
}
+ publishers {
+ postBuildTask {
+ task('.', '''
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
+ }
+ }
}
/**
@@ -518,7 +564,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}
@@ -579,7 +633,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}
@@ -645,7 +707,15 @@
}
}
postBuildTask {
- task('.', 'echo "Finding job process orphans.."; if pgrep -af "${JOB_BASE_NAME}"; then pkill -9 -f "${JOB_BASE_NAME}"; fi')
+ task('.', '''
+ echo "Finding job process orphans…"; if pgrep -af ${JOB_BASE_NAME}; then pkill -9 -f ${JOB_BASE_NAME}; fi;
+ echo "Cleaning project…";
+ ant realclean;
+ echo "Reporting disk usage…";
+ df -h ; du -hs `pwd` ; du -hs ../* ;
+ echo "Cleaning tmp…";
+ find /tmp -type -f -atime +3 -user jenkins -and -not -exec fuser -s {} ';' -and -delete 2>/dev/null
+ ''')
}
}
}