ESBO-ETC/Jenkinsfile

72 lines
2.2 KiB
Plaintext
Raw Normal View History

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 {
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
DEPLOY_HOST = 'deployer@www.example.com:/path/to/docs/'
}
stages {
2020-07-21 14:01:51 +02:00
stage('Build') {
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'
2020-07-21 13:45:40 +02:00
sh 'ls'
2020-07-21 11:22:31 +02:00
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'
// archiveArtifacts 'docs/build/html/**/*.*', onlyIfSuccessful: true
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') {
agent any
steps {
unstash 'html'
2020-07-21 14:04:40 +02:00
sh 'cp -r docs/build/html /opt/esbo-etc/'
2020-07-21 14:01:51 +02:00
}
}
2020-07-21 11:22:31 +02:00
/*
stage('Deploy') {
steps {
sshagent(credentials: ['deployer']) {
sh '''#!/bin/bash
rm -f ${SPHINX_DIR}/rsync.log
RSYNCOPT=(-aze 'ssh -o StrictHostKeyChecking=no')
rsync "${RSYNCOPT[@]}" \
--exclude-from=${SPHINX_DIR}/rsync-exclude.txt \
--log-file=${SPHINX_DIR}/rsync.log \
--delete \
${BUILD_DIR}/ ${DEPLOY_HOST}
'''
}
}
post {
failure {
sh 'cat ${SPHINX_DIR}/rsync.log'
}
}
}
*/
}
}