Resume from a given report number.

This commit is contained in:
Manuele Simi 2019-12-09 22:37:46 -05:00
parent 447e8dde0a
commit a720c5ea73
1 changed files with 12 additions and 10 deletions

22
Jenkinsfile vendored
View File

@ -5,7 +5,7 @@ import org.yaml.snakeyaml.Yaml
def (options, maven_local_repo_path, maven_settings_file, maven_parent_file) = ['', '', '', ''] def (options, maven_local_repo_path, maven_settings_file, maven_parent_file) = ['', '', '', '']
def agent_root_folder = '/var/lib/jenkins/.m2' def agent_root_folder = '/var/lib/jenkins/.m2'
def verbose = true def verbose = true
def resume = params.resume def resume = params.resume_from
if (params.Type == 'SNAPSHOT-DRY-RUN') { if (params.Type == 'SNAPSHOT-DRY-RUN') {
echo "Configure Maven for SNAPSHOT-DRY-RUN artifacts" echo "Configure Maven for SNAPSHOT-DRY-RUN artifacts"
options = '' options = ''
@ -70,12 +70,14 @@ if (verbose) {
jsonConfig.gCube_release.Components.each { println it.key } jsonConfig.gCube_release.Components.each { println it.key }
} }
def report_number = env.BUILD_NUMBER -1 def jobs = [:]
def previous_report_file = "${agent_root_folder}/build_jobs.${report_number}.csv" if (resume_from) {
echo "Previous report file: ${previous_report_file}" def previous_report_file = "${agent_root_folder}/build_jobs.${resume_from}.csv"
def jobs = parseJobs(previous_report_file) echo "Previous report file: ${previous_report_file}"
for (job in jobs) jobs = parseJobs(previous_report_file)
println job for (job in jobs)
println job
}
pipeline { pipeline {
@ -122,9 +124,9 @@ pipeline {
defaultValue: true, defaultValue: true,
description: 'Wipe out the local maven repository before the builds?') description: 'Wipe out the local maven repository before the builds?')
booleanParam(name: 'resume', string(name: 'resume_from',
defaultValue: false, defaultValue: '',
description: 'Resume from previous build?') description: 'Resume from a previous build identified by the build number.')
} }
//see https://jenkins.io/doc/book/pipeline/syntax/#stages //see https://jenkins.io/doc/book/pipeline/syntax/#stages