milvus/build/ci/jenkins/PublishImages.groovy
quicksilver ecd9847848
[skip ci] Send notification emails to contributors when publish Milvus images failed (#7090)
Signed-off-by: quicksilver <zhifeng.zhang@zilliz.com>
2021-08-17 21:16:10 +08:00

77 lines
2.9 KiB
Groovy

#!/usr/bin/env groovy
pipeline {
agent {
kubernetes {
label "milvus-e2e-test-kind"
defaultContainer 'main'
yamlFile "build/ci/jenkins/pod/krte.yaml"
customWorkspace '/home/jenkins/agent/workspace'
// We allow this pod to remain active for a while, later jobs can
// reuse cache in previous created nodes.
idleMinutes 120
}
}
options {
timestamps()
timeout(time: 36, unit: 'MINUTES')
// parallelsAlwaysFailFast()
}
environment {
IMAGE_REPO = "dockerhub-mirror-sh.zilliz.cc/milvusdb"
DOCKER_CREDENTIALS_ID = "f0aacc8e-33f2-458a-ba9e-2c44f431b4d2"
TARGET_REPO = "milvusdb"
}
stages {
stage ('Publish Milvus Images') {
steps {
container('main') {
script {
sh "build/builder.sh /bin/bash -c \"make install\""
def date = sh(returnStdout: true, script: 'date +%Y%m%d').trim()
def gitShortCommit = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
withCredentials([usernamePassword(credentialsId: "${env.DOCKER_CREDENTIALS_ID}", usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD')]) {
sh 'docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD}'
sh """
export MILVUS_IMAGE_REPO="${env.TARGET_REPO}/milvus-dev"
export MILVUS_IMAGE_TAG="${env.BRANCH_NAME}-${date}-${gitShortCommit}"
build/build_image.sh
docker push \${MILVUS_IMAGE_REPO}:\${MILVUS_IMAGE_TAG}
docker tag \${MILVUS_IMAGE_REPO}:\${MILVUS_IMAGE_TAG} \${MILVUS_IMAGE_REPO}:${env.BRANCH_NAME}-latest
docker push \${MILVUS_IMAGE_REPO}:${env.BRANCH_NAME}-latest
docker logout
"""
}
}
}
}
}
}
post {
unsuccessful {
container('jnlp') {
script {
def authorEmail = sh returnStdout: true, script: 'git --no-pager show -s --format=\'%ae\' HEAD'
emailext subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
recipientProviders: [developers(), culprits()],
replyTo: '$DEFAULT_REPLYTO',
to: "${authorEmail},qa@zilliz.com"
}
}
}
cleanup {
container('main') {
script {
sh 'find . -name . -o -prune -exec rm -rf -- {} +' /* clean up our workspace */
}
}
}
}
}