Add Jenkinsfile for continuous integration
This commit is contained in:
parent
3c8f85dcff
commit
1aa77c90ab
|
@ -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()],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue