Add Jenkinsfile for continuous integration

This commit is contained in:
wpetit 2018-09-21 09:55:10 +02:00
parent 3c8f85dcff
commit 1aa77c90ab

59
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,59 @@
pipeline {
agent {
docker { image 'golang:1.11' }
}
stages {
stage('Prepare environment') {
steps {
script {
sh 'make install-devtools'
sh 'make vendor'
}
}
}
stage('Run unit tests') {
steps {
script {
sh 'make test'
}
}
}
stage('Run lint') {
steps {
script {
try {
sh "make lint"
} catch(ex) {
currentBuild.result = "UNSTABLE"
}
}
}
}
}
post {
always {
script {
if (currentBuild.currentResult != 'SUCCESS') {
emailext (
subject: "${currentBuild.currentResult} - Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
body: """
Voir les étapes du job: ${env.BUILD_URL}flowGraphTable
Projet: ${env.GIT_URL}
Branche: ${env.GIT_BRANCH}
Commit: ${env.GIT_COMMIT}
""",
recipientProviders: [developers(), requestor()],
)
}
}
}
}
}