Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
299b0c6b
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
299b0c6b
编写于
8月 24, 2019
作者:
Q
quicksilver
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add staging test stage
Former-commit-id: 081f1cc16b276ff4695024953ac3458ae53c2ead
上级
ebbf6781
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
181 addition
and
11 deletion
+181
-11
ci/jenkinsfile/cleanup_staging.groovy
ci/jenkinsfile/cleanup_staging.groovy
+13
-0
ci/jenkinsfile/deploy2staging.groovy
ci/jenkinsfile/deploy2staging.groovy
+16
-0
ci/jenkinsfile/dev_test.groovy
ci/jenkinsfile/dev_test.groovy
+3
-3
ci/jenkinsfile/staging_test.groovy
ci/jenkinsfile/staging_test.groovy
+31
-0
ci/jenkinsfile/upload_dev_test_out.groovy
ci/jenkinsfile/upload_dev_test_out.groovy
+2
-2
ci/jenkinsfile/upload_staging_test_out.groovy
ci/jenkinsfile/upload_staging_test_out.groovy
+13
-0
ci/nightly_main_jenkinsfile
ci/nightly_main_jenkinsfile
+103
-6
未找到文件。
ci/jenkinsfile/cleanup_staging.groovy
0 → 100644
浏览文件 @
299b0c6b
try
{
def
result
=
sh
script:
"helm status ${env.JOB_NAME}-${env.BUILD_NUMBER}"
,
returnStatus:
true
if
(!
result
)
{
sh
"helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}"
}
}
catch
(
exc
)
{
def
result
=
sh
script:
"helm status ${env.JOB_NAME}-${env.BUILD_NUMBER}"
,
returnStatus:
true
if
(!
result
)
{
sh
"helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}"
}
throw
exc
}
ci/jenkinsfile/deploy2staging.groovy
0 → 100644
浏览文件 @
299b0c6b
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:
[],
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-gpu"
)
{
sh
"helm install --wait --timeout 300 --set engine.image.repository="
zilliz
.
azurecr
.
cn
/milvus/
engine
" --set engine.image.tag=${DOCKER_VERSION} --set expose.type=loadBalancer --name ${env.JOB_NAME}-${env.BUILD_NUMBER} -f ci/values.yaml --namespace milvus-1 --version 0.4.0 ."
}
}
}
catch
(
exc
)
{
echo
'Helm running failed!'
sh
"helm del --purge ${env.JOB_NAME}-${env.BUILD_NUMBER}"
throw
exc
}
ci/jenkinsfile/dev_test.groovy
浏览文件 @
299b0c6b
...
@@ -3,7 +3,7 @@ timeout(time: 40, unit: 'MINUTES') {
...
@@ -3,7 +3,7 @@ timeout(time: 40, unit: 'MINUTES') {
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"
,
name:
'origin'
,
refspec:
"+refs/heads/${SEMVER}:refs/remotes/origin/${SEMVER}"
]]])
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.milvus-1.svc.cluster.local"
sh
"pytest . --alluredir=
"
test_out
/dev/
single
/
sqlite
"
--ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.milvus-1.svc.cluster.local"
}
}
// mysql database backend test
// mysql database backend test
...
@@ -16,11 +16,11 @@ timeout(time: 40, unit: 'MINUTES') {
...
@@ -16,11 +16,11 @@ timeout(time: 40, unit: 'MINUTES') {
}
}
dir
(
"milvus-helm"
)
{
dir
(
"milvus-helm"
)
{
dir
(
"milvus/milvus-gpu"
)
{
dir
(
"milvus/milvus-gpu"
)
{
sh
"helm install --wait --timeout 300 --set engine.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP --name ${env.JOB_NAME}-${env.BUILD_NUMBER} -f ci/db_backend/mysql_values.yaml --namespace milvus-2 --version 0.
3.1
."
sh
"helm install --wait --timeout 300 --set engine.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP --name ${env.JOB_NAME}-${env.BUILD_NUMBER} -f ci/db_backend/mysql_values.yaml --namespace milvus-2 --version 0.
4.0
."
}
}
}
}
dir
(
"${PROJECT_NAME}_test"
)
{
dir
(
"${PROJECT_NAME}_test"
)
{
sh
"pytest . --alluredir=
test_out
--ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.milvus-2.svc.cluster.local"
sh
"pytest . --alluredir=
"
test_out
/dev/
single
/
mysql
"
--ip ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine.milvus-2.svc.cluster.local"
}
}
}
catch
(
exc
)
{
}
catch
(
exc
)
{
echo
'Milvus Test Failed !'
echo
'Milvus Test Failed !'
...
...
ci/jenkinsfile/staging_test.groovy
0 → 100644
浏览文件 @
299b0c6b
timeout
(
time:
40
,
unit:
'MINUTES'
)
{
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'
def
service_ip
=
sh
(
script:
"kubectl get svc --namespace milvus-1 ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine --template \"{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}\""
,
returnStdout:
true
).
trim
()
sh
"pytest . --alluredir="
test_out
/staging/
single
/
sqlite
" --ip ${service_ip}"
}
// mysql database backend test
load
"${env.WORKSPACE}/ci/jenkinsfile/cleanup_staging.groovy"
if
(!
fileExists
(
'milvus-helm'
))
{
dir
(
"milvus-helm"
)
{
checkout
([
$class
:
'GitSCM'
,
branches:
[[
name:
"${SEMVER}"
]],
doGenerateSubmoduleConfigurations:
false
,
extensions:
[],
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-helm"
)
{
dir
(
"milvus/milvus-gpu"
)
{
sh
"helm install --wait --timeout 300 --set engine.image.repository="
zilliz
.
azurecr
.
cn
/milvus/
engine
" --set engine.image.tag=${DOCKER_VERSION} --set expose.type=loadBalancer --name ${env.JOB_NAME}-${env.BUILD_NUMBER} -f ci/db_backend/mysql_values.yaml --namespace milvus-2 --version 0.4.0 ."
}
}
dir
(
"${PROJECT_NAME}_test"
)
{
def
service_ip
=
sh
(
script:
"kubectl get svc --namespace milvus-2 ${env.JOB_NAME}-${env.BUILD_NUMBER}-milvus-gpu-engine --template \"{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}\""
,
returnStdout:
true
).
trim
()
sh
"pytest . --alluredir="
test_out
/staging/
single
/
mysql
" --ip ${service_ip}"
}
}
catch
(
exc
)
{
echo
'Milvus Test Failed !'
throw
exc
}
}
ci/jenkinsfile/upload_dev_test_out.groovy
浏览文件 @
299b0c6b
timeout
(
time:
5
,
unit:
'MINUTES'
)
{
timeout
(
time:
5
,
unit:
'MINUTES'
)
{
dir
(
"${PROJECT_NAME}_test"
)
{
dir
(
"${PROJECT_NAME}_test"
)
{
if
(
fileExists
(
'test_out'
))
{
if
(
fileExists
(
'test_out
/dev
'
))
{
def
fileTransfer
=
load
"${env.WORKSPACE}/ci/function/file_transfer.groovy"
def
fileTransfer
=
load
"${env.WORKSPACE}/ci/function/file_transfer.groovy"
fileTransfer
.
FileTransfer
(
"test_out/"
,
"${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}"
,
'nas storage'
)
fileTransfer
.
FileTransfer
(
"test_out/
dev/
"
,
"${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}"
,
'nas storage'
)
if
(
currentBuild
.
resultIsBetterOrEqualTo
(
'SUCCESS'
))
{
if
(
currentBuild
.
resultIsBetterOrEqualTo
(
'SUCCESS'
))
{
echo
"Milvus Dev Test Out Viewer \"ftp://192.168.1.126/data/${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}\""
echo
"Milvus Dev Test Out Viewer \"ftp://192.168.1.126/data/${PROJECT_NAME}/test/${JOB_NAME}-${BUILD_ID}\""
}
}
...
...
ci/jenkinsfile/upload_staging_test_out.groovy
0 → 100644
浏览文件 @
299b0c6b
timeout
(
time:
5
,
unit:
'MINUTES'
)
{
dir
(
"${PROJECT_NAME}_test"
)
{
if
(
fileExists
(
'test_out/staging'
))
{
def
fileTransfer
=
load
"${env.WORKSPACE}/ci/function/file_transfer.groovy"
fileTransfer
.
FileTransfer
(
"test_out/staging/"
,
"${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}\""
}
}
else
{
error
(
"Milvus Dev Test Out directory don't exists!"
)
}
}
}
ci/nightly_main_jenkinsfile
浏览文件 @
299b0c6b
...
@@ -208,17 +208,17 @@ spec:
...
@@ -208,17 +208,17 @@ spec:
}
}
success {
success {
script {
script {
echo "Milvus Single Node CI/CD success !"
echo "Milvus
Deploy to Dev
Single Node CI/CD success !"
}
}
}
}
aborted {
aborted {
script {
script {
echo "Milvus Single Node CI/CD aborted !"
echo "Milvus
Deploy to Dev
Single Node CI/CD aborted !"
}
}
}
}
failure {
failure {
script {
script {
echo "Milvus Single Node CI/CD failure !"
echo "Milvus
Deploy to Dev
Single Node CI/CD failure !"
}
}
}
}
}
}
...
@@ -300,17 +300,114 @@ spec:
...
@@ -300,17 +300,114 @@ spec:
}
}
success {
success {
script {
script {
echo "Milvus Cluster CI/CD success !"
echo "Milvus
Deploy to Dev
Cluster CI/CD success !"
}
}
}
}
aborted {
aborted {
script {
script {
echo "Milvus Cluster CI/CD aborted !"
echo "Milvus
Deploy to Dev
Cluster CI/CD aborted !"
}
}
}
}
failure {
failure {
script {
script {
echo "Milvus Cluster CI/CD failure !"
echo "Milvus Deploy to Dev Cluster CI/CD failure !"
}
}
}
}
}
}
stage("Deploy to Staging") {
parallel {
stage("Single Node") {
agent {
kubernetes {
label 'dev-test'
defaultContainer 'jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
app: milvus
componet: test
spec:
containers:
- name: milvus-testframework
image: registry.zilliz.com/milvus/milvus-test:v0.2
command:
- cat
tty: true
volumeMounts:
- name: kubeconf
mountPath: /root/.kube/
readOnly: true
volumes:
- name: kubeconf
secret:
secretName: aks-gpu-cluster-config
"""
}
}
stages {
stage("Deploy to Staging") {
steps {
gitlabCommitStatus(name: 'Deloy to Staging') {
container('milvus-testframework') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/deploy2staging.groovy"
}
}
}
}
}
stage("Staging Test") {
steps {
gitlabCommitStatus(name: 'Staging Test') {
container('milvus-testframework') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/staging_test.groovy"
load "${env.WORKSPACE}/ci/jenkinsfile/upload_staging_test_out.groovy"
}
}
}
}
}
stage ("Cleanup Staging") {
steps {
gitlabCommitStatus(name: 'Cleanup Staging') {
container('milvus-testframework') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_staging.groovy"
}
}
}
}
}
}
post {
always {
container('milvus-testframework') {
script {
load "${env.WORKSPACE}/ci/jenkinsfile/cleanup_staging.groovy"
}
}
}
success {
script {
echo "Milvus Deploy to Staging Single Node CI/CD success !"
}
}
aborted {
script {
echo "Milvus Deploy to Staging Single Node CI/CD aborted !"
}
}
failure {
script {
echo "Milvus Deploy to Staging Single Node CI/CD failure !"
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录