archive-deliverable #26

Merged
bucky merged 20 commits from archive-deliverable into master 2023-10-17 18:12:38 -07:00
1 changed files with 10 additions and 11 deletions

21
Jenkinsfile vendored
View File

@ -2,19 +2,14 @@ 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') {
@ -45,26 +40,30 @@ pipeline {
reportTitles: 'Cucumber Results, RSpec Results, Test Coverage']) reportTitles: 'Cucumber Results, RSpec Results, Test Coverage'])
} }
} }
stage('Build deliverable') { stage('Build production 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
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 cd /tmp
tar -czvf url-shortener.tgz url-shortener/ tar -czvf $ZIP_FILE url-shortener/
mv url-shortener.tgz $CUR_DIR mv /tmp/$ZIP_FILE $CUR_DIR/
''' '''
} }
archiveArtifacts artifacts: 'url-shortener.tgz' archiveArtifacts artifacts: '*.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 url-shortener.tgz' sh 'rm -rf *.tgz'
} }
} }
} }