2020-07-21 11:22:31 +02:00
|
|
|
pipeline {
|
2020-07-21 14:01:51 +02:00
|
|
|
agent none
|
2020-07-21 11:22:31 +02:00
|
|
|
environment {
|
2020-07-22 08:09:51 +02:00
|
|
|
TEST_DIR = 'tests'
|
2020-07-21 11:22:31 +02:00
|
|
|
SPHINX_DIR = 'docs'
|
2020-07-21 13:41:21 +02:00
|
|
|
BUILD_DIR = 'build/html'
|
|
|
|
SOURCE_DIR = 'source'
|
2020-07-21 11:22:31 +02:00
|
|
|
}
|
|
|
|
stages {
|
2020-07-21 15:18:34 +02:00
|
|
|
stage('Test') {
|
|
|
|
agent {
|
2020-07-21 15:19:21 +02:00
|
|
|
dockerfile {
|
|
|
|
filename "Dockerfile"
|
|
|
|
args "-u root" //needed to get around permission issues
|
|
|
|
}
|
2020-07-21 15:18:34 +02:00
|
|
|
}
|
|
|
|
steps {
|
|
|
|
// Install dependencies
|
|
|
|
sh '''
|
|
|
|
virtualenv pyenv
|
|
|
|
. pyenv/bin/activate
|
|
|
|
pip3 install -r requirements.txt
|
|
|
|
'''
|
2020-07-21 15:42:16 +02:00
|
|
|
sh '''
|
|
|
|
export PYTHONPATH=`pwd`
|
2020-07-21 15:42:57 +02:00
|
|
|
pyenv/bin/python3 -m unittest discover test
|
2020-07-21 15:42:16 +02:00
|
|
|
'''
|
2020-07-21 15:18:34 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('Build Docs') {
|
2020-07-21 14:01:51 +02:00
|
|
|
agent {
|
|
|
|
dockerfile {
|
|
|
|
filename "Dockerfile"
|
|
|
|
args "-u root" //needed to get around permission issues
|
|
|
|
}
|
|
|
|
}
|
2020-07-21 11:22:31 +02:00
|
|
|
steps {
|
2020-07-21 14:01:51 +02:00
|
|
|
// Install dependencies
|
2020-07-21 11:22:31 +02:00
|
|
|
sh '''
|
|
|
|
virtualenv pyenv
|
|
|
|
. pyenv/bin/activate
|
2020-07-21 13:34:07 +02:00
|
|
|
pip3 install -r requirements.txt
|
2020-07-21 11:22:31 +02:00
|
|
|
'''
|
|
|
|
// clear out old files
|
|
|
|
sh 'rm -rf ${BUILD_DIR}'
|
|
|
|
sh 'rm -f ${SPHINX_DIR}/sphinx-build.log'
|
|
|
|
sh '''
|
2020-07-21 13:56:58 +02:00
|
|
|
pyenv/bin/sphinx-build \
|
|
|
|
-w ${SPHINX_DIR}/sphinx-build.log \
|
|
|
|
-b html ${SPHINX_DIR}/${SOURCE_DIR} ${SPHINX_DIR}/${BUILD_DIR}
|
2020-07-21 11:22:31 +02:00
|
|
|
'''
|
2020-07-21 13:56:58 +02:00
|
|
|
stash includes: 'docs/build/html/**/*.*', name: 'html'
|
2020-07-21 11:22:31 +02:00
|
|
|
}
|
|
|
|
post {
|
|
|
|
failure {
|
|
|
|
sh 'cat ${SPHINX_DIR}/sphinx-build.log'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-07-21 14:01:51 +02:00
|
|
|
stage('Deploy') {
|
2020-07-21 14:07:49 +02:00
|
|
|
agent {
|
|
|
|
label 'lunjaserv'
|
|
|
|
}
|
2020-07-21 14:01:51 +02:00
|
|
|
steps {
|
|
|
|
unstash 'html'
|
2020-07-21 14:21:19 +02:00
|
|
|
sh 'rm -rf /opt/esbo-etc/html/*'
|
|
|
|
sh 'cp -rf docs/build/html /opt/esbo-etc/'
|
2020-07-21 14:01:51 +02:00
|
|
|
}
|
|
|
|
}
|
2020-07-21 11:22:31 +02:00
|
|
|
}
|
|
|
|
}
|