import org.jenkinsci.plugins.workflow.libs.Library | |
@Library('jenkins-pipeline-shared-libraries')_ | |
pipeline { | |
agent { | |
label util.avoidFaultyNodes() | |
} | |
environment { | |
SOURCES_FILE_NAME = "${SOURCES_FILE_NAME_TEMPLATE}.zip" | |
SIGNATURE_FILE_NAME = "${SOURCES_FILE_NAME_TEMPLATE}.zip.asc" | |
CHECKSUM_FILE_NAME = "${SOURCES_FILE_NAME_TEMPLATE}.zip.sha512" | |
} | |
options { | |
timeout(time: 120, unit: 'MINUTES') | |
} | |
stages { | |
stage('Create sources ZIP') { | |
steps { | |
sh "tools/zip-sources-all.sh ${SOURCES_FILE_NAME}" | |
archiveArtifacts artifacts: "**/${SOURCES_FILE_NAME}" | |
} | |
} | |
stage('Sign and upload the sources.zip') { | |
steps { | |
dir('sources-out') { | |
script { | |
releaseUtils.gpgImportKeyFromStringWithoutPassword(getReleaseGpgSignKeyCredsId()) | |
releaseUtils.gpgSignFileDetachedSignatureWithoutPassword(SOURCES_FILE_NAME, SIGNATURE_FILE_NAME) | |
releaseUtils.svnUploadFileToRepository(getReleaseSvnRepository(), getReleaseSvnCredsId(), TARGET_VERSION, SOURCES_FILE_NAME, SIGNATURE_FILE_NAME, CHECKSUM_FILE_NAME) | |
} | |
archiveArtifacts artifacts: "**/${SIGNATURE_FILE_NAME}" | |
} | |
} | |
} | |
} | |
} | |
String getReleaseGpgSignKeyCredsId() { | |
return env.RELEASE_GPG_SIGN_KEY_CREDS_ID | |
} | |
String getReleaseSvnRepository() { | |
return env.RELEASE_SVN_REPOSITORY | |
} | |
String getReleaseSvnCredsId() { | |
return env.RELEASE_SVN_CREDS_ID | |
} |