diff --git a/Jenkinsfile b/Jenkinsfile index 091d725..f9a70a6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,7 +35,6 @@ pipeline { } stage('Report results') { steps { - archive(includes: 'pkg/*.gem') publishHTML (target: [ allowMissing: false, alwaysLinkToLastBuild: false, @@ -46,6 +45,28 @@ pipeline { reportTitles: 'Cucumber Results, RSpec Results, Test Coverage']) } } + stage('Build deliverable') { + steps { + catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { + sh ''' #!/usr/local/bin/bash + CUR_DIR=$(pwd) + mkdir -p /tmp/url-shortener + cp -R * /tmp/url-shortener + rm -rf /tmp/url-shortener/features /tmp/url-shortener/spec /tmp/url-shortener/coverage .git* + cd /tmp + tar -czvf url-shortener.tgz url-shortener/ + mv url-shortener.tgz $CUR_DIR + ''' + } + archiveArtifacts artifacts: 'url-shortener.tgz' + } + } + stage('Clean up deliverable') { + steps { + sh 'rm -rf /tmp/url-shortener' + sh 'rm -rf url-shortener.tgz' + } + } } post { success { @@ -57,5 +78,8 @@ pipeline { failure { mattermostSend channel: 'git-messages', color: 'danger', message: "[${JOB_NAME}](${JOB_URL}) [#${BUILD_NUMBER}](${BUILD_URL}) ([Gitea](${GIT_URL}))", text: "Build Failed" } + always { + cleanWs deleteDirs: true, patterns: [[pattern: '*', type: 'INCLUDE']] + } } }