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