diff --git a/Jenkinsfile b/Jenkinsfile index b0b00d5..0a449f6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,19 +2,14 @@ pipeline { agent any environment { - APP_SESSION_SECRET = '' DB_NAME = 'url_shortener.db' } stages { stage('Init') { steps { sh 'rbenv local 3.2.2' - script { - env.APP_SESSION_SECRET = sh(script: 'ruby secret.rb', returnStdout: true) - } sh 'echo "ENV[\\\"APP_SESSION_SECRET\\\"] ||= $(ruby secret.rb)" > .env.rb' sh 'echo "ENV[\\\"DB_NAME\\\"] ||= \\\"${DB_NAME}\\\"" >> .env.rb' - sh 'cat .env.rb' } } stage('Build dependencies') { @@ -45,26 +40,30 @@ pipeline { reportTitles: 'Cucumber Results, RSpec Results, Test Coverage']) } } - stage('Build deliverable') { + stage('Build production deliverable') { steps { catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { sh ''' #!/usr/local/bin/bash + ZIP_FILE="url-shortener_$(date "+%Y-%m-%d_%H-%M-%S").tgz" 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 /tmp/url-shortener/db/*.db .git* + cp .env.rb /tmp/url-shortener/ + cp .ruby-version /tmp/url-shortener/ + cd /tmp/url-shortener + rm -rf features spec coverage db/*.db .git* Jenkinsfile *.html secret.rb cd /tmp - tar -czvf url-shortener.tgz url-shortener/ - mv url-shortener.tgz $CUR_DIR + tar -czvf $ZIP_FILE url-shortener/ + mv /tmp/$ZIP_FILE $CUR_DIR/ ''' } - archiveArtifacts artifacts: 'url-shortener.tgz' + archiveArtifacts artifacts: '*.tgz' } } stage('Clean up deliverable') { steps { sh 'rm -rf /tmp/url-shortener' - sh 'rm -rf url-shortener.tgz' + sh 'rm -rf *.tgz' } } }