1
0
Fork 0

ci: Add Jenkins pipeline

master
Dustin 2018-07-26 18:28:43 -05:00
parent ed39f974dc
commit 16d075b7e2
3 changed files with 45 additions and 0 deletions

9
ci/Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM fedora:28
RUN dnf install -y \
openssh-clients \
python3-pip \
python3-wheel \
rsync
RUN useradd -l -u 3000018 -d /var/lib/jenkins jenkins

28
ci/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,28 @@
pipeline {
agent {
dockerfile {
dir 'ci'
}
}
triggers {
pollSCM ''
}
environment {
PUBLISH_HOST = 'web0.pyrocufflink.blue'
PUBLISH_USER = 'webapp.dchwww'
}
stages {
stage('Publish') {
steps {
sh 'pip3 wheel -w dist -r requirements.txt'
sshagent(['jenkins-web']) {
sh "ssh -oStrictHostKeyChecking=no ${PUBLISH_USER}@${PUBLISH_HOST} :"
sh '. ci/publish.sh'
}
}
}
}
}

8
ci/publish.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/sh
rsync -rti . ${PUBLISH_USER}@${PUBLISH_HOST}: \
--exclude dist/ --exclude .git
rsync -rti dist/ ${PUBLISH_USER}@${PUBLISH_HOST}:wheelhouse \
--include '*.whl' --exclude '**'
ssh ${PUBLISH_USER}@${PUBLISH_HOST} \
venv/bin/pip install --no-index -f wheelhouse -r requirements.txt