Added auto doc deploy #2
9
Dockerfile
Normal file
9
Dockerfile
Normal 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"]
|
83
Jenkinsfile
vendored
83
Jenkinsfile
vendored
@ -1,16 +1,27 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent none
|
agent {
|
||||||
|
dockerfile {
|
||||||
|
args '-u root -v $HOME/docker_volumes/.cache/:/root/.cache/'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
environment {
|
||||||
|
SPHINXOPTS = '-w sphinx-build.log'
|
||||||
|
DEPLOY_HOST = 'docs@172.17.0.1'
|
||||||
|
DEPLOY_PATH = 'www/docs/bot-base/'
|
||||||
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('Test') {
|
stage('Install Dependencies') {
|
||||||
agent {
|
|
||||||
docker {
|
|
||||||
image 'python:3.8'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
steps {
|
steps {
|
||||||
sh "pip install --no-cache-dir -t python pipenv"
|
sh 'pipenv sync --dev'
|
||||||
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"
|
}
|
||||||
|
|
||||||
|
stage('Run Tests') {
|
||||||
|
steps {
|
||||||
|
sh '''export PYTHONPATH=$(pwd)/python
|
||||||
|
cd src
|
||||||
|
pipenv run pytest -p no:warnings --junit-xml test-reports/results.xml'''
|
||||||
}
|
}
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
@ -18,5 +29,57 @@ 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'
|
||||||
|
buildingTag()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
echo "Hello world"
|
||||||
|
def SUB_PATH = """${sh(
|
||||||
|
returnStdout: true,
|
||||||
|
script: 'echo "${GIT_BRANCH#*/}"'
|
||||||
|
)}""".trim()
|
||||||
|
if (buildingTag()) {
|
||||||
|
SUB_PATH="${env.TAG_NAME}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sshagent(credentials: ['1cf72f47-b70c-4f90-a958-020956099d19']) {
|
||||||
|
withEnv(["SUB_PATH=${SUB_PATH}"]) {
|
||||||
|
sh '''cd doc
|
||||||
|
rm -f rsync.log
|
||||||
|
ssh -o StrictHostKeyChecking=no -o BatchMode=yes ${DEPLOY_HOST} mkdir -p ${DEPLOY_PATH}${SUB_PATH}/
|
||||||
|
rsync -aze 'ssh -o StrictHostKeyChecking=no -o BatchMode=yes' \
|
||||||
|
--log-file=rsync.log \
|
||||||
|
--delete \
|
||||||
|
./build/html/ ${DEPLOY_HOST}:${DEPLOY_PATH}${SUB_PATH}/'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
failure {
|
||||||
|
sh 'cat doc/rsync.log'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user