2018-02-20 10:28:55 +00:00
|
|
|
def notifySlack(String buildStatus = 'STARTED') {
|
|
|
|
// Build status of null means success.
|
|
|
|
buildStatus = buildStatus ?: 'SUCCESS'
|
|
|
|
|
|
|
|
def color
|
|
|
|
|
|
|
|
if (buildStatus == 'STARTED') {
|
|
|
|
color = '#D4DADF'
|
|
|
|
} else if (buildStatus == 'SUCCESS') {
|
|
|
|
color = '#BDFFC3'
|
|
|
|
} else if (buildStatus == 'UNSTABLE') {
|
|
|
|
color = '#FFFE89'
|
|
|
|
} else {
|
|
|
|
color = '#FF9FA1'
|
|
|
|
}
|
|
|
|
|
|
|
|
def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}: ${env.GIT_COMMIT}\n${env.BUILD_URL}"
|
|
|
|
|
|
|
|
slackSend(color: color, channel: '#status-k8s', message: msg)
|
|
|
|
}
|
|
|
|
|
|
|
|
pipeline {
|
|
|
|
options {
|
|
|
|
buildDiscarder(logRotator(daysToKeepStr: '7', numToKeepStr: '10'))
|
|
|
|
}
|
|
|
|
agent any
|
|
|
|
parameters {
|
|
|
|
string(name: 'TESTNAMESPACE', defaultValue: 'arangodb-operator-tests', description: 'TESTNAMESPACE sets the kubernetes namespace to ru tests in', )
|
|
|
|
}
|
|
|
|
stages {
|
|
|
|
stage('Build') {
|
|
|
|
steps {
|
|
|
|
timestamps {
|
2018-02-20 17:53:33 +00:00
|
|
|
withEnv([
|
|
|
|
"IMAGETAG=${env.GIT_COMMIT}",
|
|
|
|
]) {
|
|
|
|
sh "make"
|
|
|
|
}
|
2018-02-20 10:28:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('Test') {
|
2018-02-20 10:29:32 +00:00
|
|
|
steps {
|
|
|
|
timestamps {
|
2018-02-20 18:00:03 +00:00
|
|
|
lock("${params.TESTNAMESPACE}-${env.GIT_COMMIT}") {
|
2018-02-20 10:29:32 +00:00
|
|
|
withEnv([
|
2018-02-20 18:00:03 +00:00
|
|
|
"TESTNAMESPACE=${params.TESTNAMESPACE}-${env.GIT_COMMIT}",
|
2018-02-20 17:53:33 +00:00
|
|
|
"IMAGETAG=${env.GIT_COMMIT}",
|
|
|
|
"PUSHIMAGES=1",
|
2018-02-20 10:29:32 +00:00
|
|
|
]) {
|
|
|
|
sh "make run-tests"
|
2018-02-20 10:28:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
post {
|
|
|
|
failure {
|
|
|
|
notifySlack('FAILURE')
|
|
|
|
}
|
|
|
|
|
|
|
|
success {
|
|
|
|
notifySlack('SUCCESS')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|