Compare commits

..

No commits in common. "10fe82ab6a77d6021e2abd97a623f4ca510bec63" and "873b86a80969e461de6626e0cfc8f368246acfe4" have entirely different histories.

1 changed files with 11 additions and 10 deletions

21
Jenkinsfile vendored
View File

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