提交 8173f37b 编写于 作者: J Jeff

Merge branch 'branch-0.3.1-yuncong' into 'branch-0.3.1-yuncong'

Branch 0.3.1 yuncong

See merge request megasearch/milvus!196

Former-commit-id: 057e426d1419a9b4ea0ac8cd00be231757e2dce8
...@@ -7,6 +7,8 @@ try { ...@@ -7,6 +7,8 @@ try {
error("Dev Test Failure !") error("Dev Test Failure !")
} }
} catch (exc) { } catch (exc) {
sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}"
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed' updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
throw exc throw exc
} }
try {
sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster"
if (currentBuild.result == 'ABORTED') {
throw new hudson.AbortException("Cluster Dev Test Aborted !")
} else if (currentBuild.result == 'FAILURE') {
error("Dev Test Failure !")
}
} catch (exc) {
sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster"
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
throw exc
}
try {
sh 'helm init --client-only --skip-refresh --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts'
sh 'helm repo add milvus https://registry.zilliz.com/chartrepo/milvus'
sh 'helm repo update'
dir ("milvus-helm") {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'SubmoduleOption',disableSubmodules: false,parentCredentials: true,recursiveSubmodules: true,reference: '',trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:megasearch/milvus-helm.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
dir ("milvus/milvus-cluster") {
sh "helm install --set roServers.image.tag=${DOCKER_VERSION} --set woServers.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP -f ci/values.yaml --name ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster --namespace milvus-cluster --version 0.1.0 . "
}
waitUntil {
def result = sh script: "nc -z -w 2 ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster-milvus-cluster-proxy.milvus-cluster.svc.cluster.local 19530", returnStatus: true
return !result
}
}
} catch (exc) {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo 'Helm running failed!'
sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster"
throw exc
}
container('milvus-testframework') {
timeout(time: 10, unit: 'MINUTES') {
gitlabCommitStatus(name: 'Dev Test') {
try {
dir ("${PROJECT_NAME}_test") {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:Test/milvus_test.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
sh 'python3 -m pip install -r requirements.txt'
sh "pytest . --alluredir=cluster_test_out --ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-cluster-milvus-cluster-proxy.milvus-cluster.svc.cluster.local"
}
} catch (exc) {
updateGitlabCommitStatus name: 'Dev Test', state: 'failed'
currentBuild.result = 'FAILURE'
echo 'Milvus Test Failed !'
}
}
}
}
...@@ -2,10 +2,15 @@ try { ...@@ -2,10 +2,15 @@ try {
sh 'helm init --client-only --skip-refresh --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts' sh 'helm init --client-only --skip-refresh --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts'
sh 'helm repo add milvus https://registry.zilliz.com/chartrepo/milvus' sh 'helm repo add milvus https://registry.zilliz.com/chartrepo/milvus'
sh 'helm repo update' sh 'helm repo update'
sh "helm install --set engine.image.repository=registry.zilliz.com/${PROJECT_NAME}/engine --set engine.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP --name ${env.JOB_NAME}-${env.BUILD_NUMBER} --version 0.3.0 milvus/milvus-gpu" sh "helm install --set engine.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP --name ${env.JOB_NAME}-${env.BUILD_NUMBER} --version 0.3.0 milvus/milvus-gpu"
waitUntil {
def result = sh script: "nc -z -w 2 ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.kube-opt.svc.cluster.local 19530", returnStatus: true
return !result
}
} catch (exc) { } catch (exc) {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed' updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo 'Helm running failed!' echo 'Helm running failed!'
sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}" sh "helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}"
throw exc throw exc
} }
...@@ -3,7 +3,7 @@ container('milvus-testframework') { ...@@ -3,7 +3,7 @@ container('milvus-testframework') {
gitlabCommitStatus(name: 'Dev Test') { gitlabCommitStatus(name: 'Dev Test') {
try { try {
dir ("${PROJECT_NAME}_test") { dir ("${PROJECT_NAME}_test") {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:Test/milvus_test.git"]]]) checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:Test/milvus_test.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
sh 'python3 -m pip install -r requirements.txt' sh 'python3 -m pip install -r requirements.txt'
sh "pytest . --alluredir=test_out --ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.kube-opt.svc.cluster.local" sh "pytest . --alluredir=test_out --ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.kube-opt.svc.cluster.local"
} }
...@@ -15,3 +15,4 @@ container('milvus-testframework') { ...@@ -15,3 +15,4 @@ container('milvus-testframework') {
} }
} }
} }
...@@ -3,7 +3,7 @@ container('milvus-build-env') { ...@@ -3,7 +3,7 @@ container('milvus-build-env') {
gitlabCommitStatus(name: 'Build Engine') { gitlabCommitStatus(name: 'Build Engine') {
dir ("milvus_engine") { dir ("milvus_engine") {
try { try {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'SubmoduleOption',disableSubmodules: false,parentCredentials: true,recursiveSubmodules: true,reference: '',trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:megasearch/milvus.git"]]]) checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'SubmoduleOption',disableSubmodules: false,parentCredentials: true,recursiveSubmodules: true,reference: '',trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:megasearch/milvus.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
dir ("cpp") { dir ("cpp") {
sh "git config --global user.email \"test@zilliz.com\"" sh "git config --global user.email \"test@zilliz.com\""
sh "git config --global user.name \"test\"" sh "git config --global user.name \"test\""
...@@ -17,3 +17,4 @@ container('milvus-build-env') { ...@@ -17,3 +17,4 @@ container('milvus-build-env') {
} }
} }
} }
...@@ -3,8 +3,10 @@ container('milvus-build-env') { ...@@ -3,8 +3,10 @@ container('milvus-build-env') {
gitlabCommitStatus(name: 'Build Engine') { gitlabCommitStatus(name: 'Build Engine') {
dir ("milvus_engine") { dir ("milvus_engine") {
try { try {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'SubmoduleOption',disableSubmodules: false,parentCredentials: true,recursiveSubmodules: true,reference: '',trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:megasearch/milvus.git"]]]) checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'SubmoduleOption',disableSubmodules: false,parentCredentials: true,recursiveSubmodules: true,reference: '',trackingSubmodules: false]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:megasearch/milvus.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
dir ("cpp") { dir ("cpp") {
sh "git config --global user.email \"test@zilliz.com\""
sh "git config --global user.name \"test\""
sh "./build.sh -t ${params.BUILD_TYPE}" sh "./build.sh -t ${params.BUILD_TYPE}"
} }
} catch (exc) { } catch (exc) {
...@@ -15,3 +17,4 @@ container('milvus-build-env') { ...@@ -15,3 +17,4 @@ container('milvus-build-env') {
} }
} }
} }
...@@ -3,7 +3,7 @@ container('publish-docker') { ...@@ -3,7 +3,7 @@ container('publish-docker') {
gitlabCommitStatus(name: 'Publish Engine Docker') { gitlabCommitStatus(name: 'Publish Engine Docker') {
try { try {
dir ("${PROJECT_NAME}_build") { dir ("${PROJECT_NAME}_build") {
checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:build/milvus_build.git"]]]) checkout([$class: 'GitSCM', branches: [[name: "${SEMVER}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "${params.GIT_USER}", url: "git@192.168.1.105:build/milvus_build.git", name: 'origin', refspec: "+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"]]])
dir ("docker/deploy/ubuntu16.04/free_version") { dir ("docker/deploy/ubuntu16.04/free_version") {
sh "curl -O -u anonymous: ftp://192.168.1.126/data/${PROJECT_NAME}/engine/${JOB_NAME}-${BUILD_ID}/${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz" sh "curl -O -u anonymous: ftp://192.168.1.126/data/${PROJECT_NAME}/engine/${JOB_NAME}-${BUILD_ID}/${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz"
sh "tar zxvf ${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz" sh "tar zxvf ${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz"
...@@ -29,3 +29,4 @@ container('publish-docker') { ...@@ -29,3 +29,4 @@ container('publish-docker') {
} }
} }
} }
container('milvus-testframework') {
timeout(time: 5, unit: 'MINUTES') {
dir ("${PROJECT_NAME}_test") {
gitlabCommitStatus(name: 'Upload Dev Test Out') {
if (fileExists('cluster_test_out')) {
try {
def fileTransfer = load "${env.WORKSPACE}/ci/function/file_transfer.groovy"
fileTransfer.FileTransfer("cluster_test_out/", "${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}", 'nas storage')
if (currentBuild.resultIsBetterOrEqualTo('SUCCESS')) {
echo "Milvus Dev Test Out Viewer \"ftp://192.168.1.126/data/${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}\""
}
} catch (hudson.AbortException ae) {
updateGitlabCommitStatus name: 'Upload Dev Test Out', state: 'canceled'
currentBuild.result = 'ABORTED'
} catch (exc) {
updateGitlabCommitStatus name: 'Upload Dev Test Out', state: 'failed'
currentBuild.result = 'FAILURE'
}
} else {
updateGitlabCommitStatus name: 'Upload Dev Test Out', state: 'failed'
echo "Milvus Dev Test Out directory don't exists!"
}
}
}
}
}
...@@ -130,97 +130,200 @@ spec: ...@@ -130,97 +130,200 @@ spec:
} }
stage("Deploy to Development") { stage("Deploy to Development") {
stages { parallel {
stage("Deploy to Dev") { stage("Single") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Deploy') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Deloy to Dev') { kubernetes {
script { label 'jenkins-slave'
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy" defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy"
}
}
} }
} }
} }
} post {
} aborted {
post { script {
aborted { updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
script { echo "Milvus Deloy to Dev aborted !"
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled' }
echo "Milvus Deloy to Dev aborted !" }
failure {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
}
}
} }
} }
failure { stage("Dev Test") {
script { agent {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed' kubernetes {
echo "Milvus Deloy to Dev failure !" label 'test'
defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy"
}
}
}
} }
} }
}
}
stage("Dev Test") { stage ("Cleanup Dev") {
agent { agent {
kubernetes { kubernetes {
label 'test' label 'jenkins-slave'
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { }
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
} }
} stages {
} stage('Cleanup') {
stages { steps {
stage('Test') { gitlabCommitStatus(name: 'Cleanup Dev') {
steps { script {
script { load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy" }
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy" }
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
} }
} }
} }
} }
} }
stage ("Cleanup Dev") { stage("Cluster") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Cleanup') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Cleanup Dev') { kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_deploy2dev.groovy"
}
}
}
}
}
post {
aborted {
script { script {
load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy" updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
echo "Milvus Deloy to Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
} }
} }
} }
} }
}
post { stage("Dev Test") {
aborted { agent {
script { kubernetes {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled' label 'test'
echo "Milvus Cleanup Dev aborted !" defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_cluster_dev_test_out.groovy"
}
}
}
} }
} }
failure { stage ("Cleanup Dev") {
script { agent {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed' kubernetes {
echo "Milvus Cleanup Dev failure !" label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Cleanup') {
steps {
gitlabCommitStatus(name: 'Cleanup Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_cleanup_dev.groovy"
}
}
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
}
} }
} }
} }
...@@ -270,3 +373,4 @@ spec: ...@@ -270,3 +373,4 @@ spec:
} }
} }
} }
...@@ -130,97 +130,200 @@ spec: ...@@ -130,97 +130,200 @@ spec:
} }
stage("Deploy to Development") { stage("Deploy to Development") {
stages { parallel {
stage("Deploy to Dev") { stage("Single") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Deploy') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Deloy to Dev') { kubernetes {
script { label 'jenkins-slave'
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy" defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy"
}
}
} }
} }
} }
} post {
} aborted {
post { script {
aborted { updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
script { echo "Milvus Deloy to Dev aborted !"
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled' }
echo "Milvus Deloy to Dev aborted !" }
failure {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
}
}
} }
} }
failure { stage("Dev Test") {
script { agent {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed' kubernetes {
echo "Milvus Deloy to Dev failure !" label 'test'
defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy"
}
}
}
} }
} }
}
}
stage("Dev Test") { stage ("Cleanup Dev") {
agent { agent {
kubernetes { kubernetes {
label 'test' label 'jenkins-slave'
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { }
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
} }
} stages {
} stage('Cleanup') {
stages { steps {
stage('Test') { gitlabCommitStatus(name: 'Cleanup Dev') {
steps { script {
script { load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy" }
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy" }
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
} }
} }
} }
} }
} }
stage ("Cleanup Dev") { stage("Cluster") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Cleanup') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Cleanup Dev') { kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_deploy2dev.groovy"
}
}
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
echo "Milvus Deloy to Dev aborted !"
}
}
failure {
script { script {
load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy" updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
} }
} }
} }
} }
}
post { stage("Dev Test") {
aborted { agent {
script { kubernetes {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled' label 'test'
echo "Milvus Cleanup Dev aborted !" defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_cluster_dev_test_out.groovy"
}
}
}
} }
} }
failure { stage ("Cleanup Dev") {
script { agent {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed' kubernetes {
echo "Milvus Cleanup Dev failure !" label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Cleanup') {
steps {
gitlabCommitStatus(name: 'Cleanup Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_cleanup_dev.groovy"
}
}
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
}
} }
} }
} }
...@@ -232,6 +335,22 @@ spec: ...@@ -232,6 +335,22 @@ spec:
} }
post { post {
always {
script {
if (!currentBuild.resultIsBetterOrEqualTo('SUCCESS')) {
// Send an email only if the build status has changed from green/unstable to red
emailext subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
recipientProviders: [
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']
],
replyTo: '$DEFAULT_REPLYTO',
to: '$DEFAULT_RECIPIENTS'
}
}
}
success { success {
script { script {
updateGitlabCommitStatus name: 'CI/CD', state: 'success' updateGitlabCommitStatus name: 'CI/CD', state: 'success'
...@@ -254,3 +373,4 @@ spec: ...@@ -254,3 +373,4 @@ spec:
} }
} }
} }
...@@ -130,97 +130,200 @@ spec: ...@@ -130,97 +130,200 @@ spec:
} }
stage("Deploy to Development") { stage("Deploy to Development") {
stages { parallel {
stage("Deploy to Dev") { stage("Single") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Deploy') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Deloy to Dev') { kubernetes {
script { label 'jenkins-slave'
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy" defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2dev.groovy"
}
}
} }
} }
} }
} post {
} aborted {
post { script {
aborted { updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
script { echo "Milvus Deloy to Dev aborted !"
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled' }
echo "Milvus Deloy to Dev aborted !" }
failure {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
}
}
} }
} }
failure { stage("Dev Test") {
script { agent {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed' kubernetes {
echo "Milvus Deloy to Dev failure !" label 'test'
defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy"
}
}
}
} }
} }
}
}
stage("Dev Test") { stage ("Cleanup Dev") {
agent { agent {
kubernetes { kubernetes {
label 'test' label 'jenkins-slave'
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { }
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
} }
} stages {
} stage('Cleanup') {
stages { steps {
stage('Test') { gitlabCommitStatus(name: 'Cleanup Dev') {
steps { script {
script { load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/dev_test.groovy" }
load "${env.WORKSPACE}/ci/jenkinsfile/upload_dev_test_out.groovy" }
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
} }
} }
} }
} }
} }
stage ("Cleanup Dev") { stage("Cluster") {
agent {
kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages { stages {
stage('Cleanup') { stage("Deploy to Dev") {
steps { agent {
gitlabCommitStatus(name: 'Cleanup Dev') { kubernetes {
label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Deploy') {
steps {
gitlabCommitStatus(name: 'Deloy to Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_deploy2dev.groovy"
}
}
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Deloy to Dev', state: 'canceled'
echo "Milvus Deloy to Dev aborted !"
}
}
failure {
script { script {
load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_dev.groovy" updateGitlabCommitStatus name: 'Deloy to Dev', state: 'failed'
echo "Milvus Deloy to Dev failure !"
} }
} }
} }
} }
}
post { stage("Dev Test") {
aborted { agent {
script { kubernetes {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled' label 'test'
echo "Milvus Cleanup Dev aborted !" defaultContainer 'jnlp'
containerTemplate {
name 'milvus-testframework'
image 'registry.zilliz.com/milvus/milvus-test:v0.1'
ttyEnabled true
command 'cat'
}
}
}
stages {
stage('Test') {
steps {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_dev_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_cluster_dev_test_out.groovy"
}
}
}
} }
} }
failure { stage ("Cleanup Dev") {
script { agent {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed' kubernetes {
echo "Milvus Cleanup Dev failure !" label 'jenkins-slave'
defaultContainer 'jnlp'
}
}
stages {
stage('Cleanup') {
steps {
gitlabCommitStatus(name: 'Cleanup Dev') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cluster_cleanup_dev.groovy"
}
}
}
}
}
post {
aborted {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'canceled'
echo "Milvus Cleanup Dev aborted !"
}
}
failure {
script {
updateGitlabCommitStatus name: 'Cleanup Dev', state: 'failed'
echo "Milvus Cleanup Dev failure !"
}
}
} }
} }
} }
...@@ -232,6 +335,22 @@ spec: ...@@ -232,6 +335,22 @@ spec:
} }
post { post {
always {
script {
if (!currentBuild.resultIsBetterOrEqualTo('SUCCESS')) {
// Send an email only if the build status has changed from green/unstable to red
emailext subject: '$DEFAULT_SUBJECT',
body: '$DEFAULT_CONTENT',
recipientProviders: [
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']
],
replyTo: '$DEFAULT_REPLYTO',
to: '$DEFAULT_RECIPIENTS'
}
}
}
success { success {
script { script {
updateGitlabCommitStatus name: 'CI/CD', state: 'success' updateGitlabCommitStatus name: 'CI/CD', state: 'success'
...@@ -254,3 +373,4 @@ spec: ...@@ -254,3 +373,4 @@ spec:
} }
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册