Merge pull request 'Added Doc Deployment' (#3) from test into master
Some checks reported errors
Gitsokyo/bot-base/pipeline/head This commit looks good
Gitsokyo/bot-base/pipeline/tag Something is wrong with the build of this commit

This commit is contained in:
Suwako Moriya 2020-04-27 07:53:08 +00:00
commit 1da68725fd
2 changed files with 70 additions and 10 deletions

9
Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM python:3.8
RUN apt-get update && apt-get install -y\
rsync \
openssh-client
RUN pip install pipenv
CMD ["/bin/bash"]

67
Jenkinsfile vendored
View File

@ -1,16 +1,27 @@
pipeline {
agent none
stages {
stage('Test') {
agent {
docker {
image 'python:3.8'
dockerfile {
args '-u root -v $HOME/docker_volumes/.cache/:/root/.cache/'
}
}
environment {
SPHINXOPTS = '-w sphinx-build.log'
DEPLOY_HOST = 'docs@moriya.zapto.org'
DEPLOY_PATH = 'www/docs/bot-base/'
}
stages {
stage('Install Dependencies') {
steps {
sh "pip install --no-cache-dir -t python pipenv"
sh "PYTHONPATH=\$(pwd)/python PIPENV_VENV_IN_PROJECT=true python/bin/pipenv sync --sequential --dev"
sh "export PYTHONPATH=\$(pwd)/python && cd src && PIPENV_VENV_IN_PROJECT=true \${PYTHONPATH}/bin/pipenv run pytest -p no:warnings --junit-xml test-reports/results.xml"
sh 'pipenv sync --verbose --sequential --dev'
}
}
stage('Run Tests') {
steps {
sh '''export PYTHONPATH=$(pwd)/python
cd src
pipenv run pytest -p no:warnings --junit-xml test-reports/results.xml'''
}
post {
always {
@ -18,5 +29,45 @@ pipeline {
}
}
}
stage('Build Documentation') {
steps {
sh '''export PYTHONPATH=$(pwd)/python
cd doc
rm -f sphinx-build.log
pipenv run make html'''
}
post {
failure {
sh 'cat doc/sphinx-build.log'
}
}
}
stage('Deploy Documentation') {
when {
anyOf {
branch 'stable'
branch 'master'
}
}
steps {
sshagent(credentials: ['1cf72f47-b70c-4f90-a958-020956099d19']) {
sh '''cd doc
rm -f rsync.log
echo ${DEPLOY_HOST}:${DEPLOY_PATH}${GIT_BRANCH#*/}/ >> debug.log
ssh -o StrictHostKeyChecking=no -o BatchMode=yes ${DEPLOY_HOST} mkdir -p ${DEPLOY_PATH}{GIT_BRANCH#*/}/
rsync -aze 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes' \
--log-file=rsync.log \
--delete \
./build/html/ ${DEPLOY_HOST}:${DEPLOY_PATH}${GIT_BRANCH#*/}/'''
}
}
post {
failure {
sh 'cat doc/debug.log doc/rsync.log'
}
}
}
}
}