Use Jenkinsfile
This commit is contained in:
parent
1be87017c0
commit
8ebd55f00c
1 changed files with 53 additions and 0 deletions
53
Jenkinsfile
vendored
Normal file
53
Jenkinsfile
vendored
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
pipeline {
|
||||||
|
agent none
|
||||||
|
options {
|
||||||
|
skipStagesAfterUnstable()
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('Build') {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'python:2-alpine'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'python -m py_compile sources/add2vals.py sources/calc.py'
|
||||||
|
stash(name: 'compiled-results', includes: 'sources/*.py*')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Test') {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'qnib/pytest'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'py.test --junit-xml test-reports/results.xml sources/test_calc.py'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
junit 'test-reports/results.xml'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Deliver') {
|
||||||
|
agent any
|
||||||
|
environment {
|
||||||
|
VOLUME = '$(pwd)/sources:/src'
|
||||||
|
IMAGE = 'cdrx/pyinstaller-linux:python2'
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
dir(path: env.BUILD_ID) {
|
||||||
|
unstash(name: 'compiled-results')
|
||||||
|
sh "docker run --rm -v ${VOLUME} ${IMAGE} 'pyinstaller -F add2vals.py'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
success {
|
||||||
|
archiveArtifacts "${env.BUILD_ID}/sources/dist/add2vals"
|
||||||
|
sh "docker run --rm -v ${VOLUME} ${IMAGE} 'rm -rf build dist'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue