Maybe we need a tar and a zip helper

This commit is contained in:
Jim Nicholson 2024-02-07 05:00:00 -08:00
parent 8d2fbd1681
commit 7059990c87

View File

@ -3,20 +3,28 @@
void call(Map config = [:], Closure body) { void call(Map config = [:], Closure body) {
Map defaults = [ Map defaults = [
name: env.BUILD_TAG, name: env.BUILD_TAG,
archiveCmd: 'tar zcvf', archiveCmd: 'tar',
archiveParams: 'zcvf',
extension: 'tgz', extension: 'tgz',
artifacts: [] artifacts: [],
stepName: 'Package',
separator: '-'
] ]
Map runConfig = defaults + config Map runConfig = defaults + config
stage(runConfig.stepName) { stage(runConfig.stepName) {
printBanner(runConfig.stepName) printBanner(runConfig.stepName)
String archiveName = "${runConfig.name}-${runConfig.tag}.${runConfig.extension}" if (runConfig.artifacts.size() < 1) {
assert runConfig.artifacts : 'Error: No named artifacts to package!'
}
archiveName = runConfig.name + separator + runConfig.tag + separator + runConfig.extension
echo "Will tag result as: ${archiveName}" echo "Will tag result as: ${archiveName}"
sh """ sh """
${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} if command -v "${runconfig.archiveCmd}"; then
${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')}
else
echo "Error: ${runConfig.archiveCmd} is not a valid executable!"
exit 2
""" """
archiveArtifacts artifacts: archiveName, followSymlinks: false archiveArtifacts artifacts: archiveName, followSymlinks: false
body() body()