提交 e956ecee 编写于 作者: T tangfangzhi

ci: split the ci environment into two

上级 b148fbcd
......@@ -7,6 +7,7 @@ def sync_source() {
sh '''
hostname
date
env
'''
sh '''
cd ${WKC}
......@@ -36,6 +37,12 @@ def sync_source() {
git clean -fxd
git checkout 2.4
'''
} else if (env.CHANGE_TARGET == '2.6') {
sh '''
cd ${WKC}
git clean -fxd
git checkout 2.6
'''
} else {
sh '''
cd ${WKC}
......@@ -51,6 +58,7 @@ def sync_source() {
[ -f src/connector/grafanaplugin/README.md ] && rm -f src/connector/grafanaplugin/README.md > /dev/null || echo "failed to remove grafanaplugin README.md"
git pull >/dev/null
git clean -dfx
git log -5
'''
script {
if (env.CHANGE_TARGET == 'master') {
......@@ -68,6 +76,11 @@ def sync_source() {
cd ${WK}
git checkout 2.4
'''
} else if (env.CHANGE_TARGET == '2.6') {
sh '''
cd ${WK}
git checkout 2.6
'''
} else {
sh '''
cd ${WK}
......@@ -79,6 +92,7 @@ def sync_source() {
cd ${WK}
git pull >/dev/null
git clean -dfx
git log -5
'''
script {
if (env.CHANGE_URL =~ /\/TDengine\//) {
......@@ -87,7 +101,10 @@ def sync_source() {
cd ${WKC}
git fetch origin +refs/pull/${CHANGE_ID}/merge
git checkout -qf FETCH_HEAD
git log -5
'''
sh '''
cd ${WKC}
if [ ! -d src/connector/python/.github ]; then
rm -rf src/connector/python/* || :
rm -rf src/connector/python/.* || :
......@@ -95,7 +112,6 @@ def sync_source() {
else
cd src/connector/python || echo "src/connector/python not exist"
git pull || :
cd ${WKC}
fi
'''
} else if (env.CHANGE_URL =~ /\/TDinternal\//) {
......@@ -104,7 +120,10 @@ def sync_source() {
cd ${WK}
git fetch origin +refs/pull/${CHANGE_ID}/merge
git checkout -qf FETCH_HEAD
git log -5
'''
sh '''
cd ${WKC}
if [ ! -d community/src/connector/python/.github ]; then
rm -rf community/src/connector/python/* || :
rm -rf community/src/connector/python/.* || :
......@@ -112,7 +131,6 @@ def sync_source() {
else
cd community/src/connector/python || echo "community/src/connector/python not exist"
git pull || :
cd ${WK}
fi
'''
} else {
......@@ -153,7 +171,7 @@ def pre_test_mac() {
return 1
}
pipeline {
agent {label " dispatcher "}
agent none
options { skipDefaultCheckout() }
environment{
WK = '/var/data/jenkins/workspace/TDinternal'
......@@ -161,18 +179,7 @@ pipeline {
LOGDIR = '/var/data/jenkins/workspace/log'
}
stages {
stage ('pre_build') {
steps {
sh '''
date
pwd
env
hostname
'''
}
}
stage ('Parallel build stage') {
//only build pr
stage('run test') {
options { skipDefaultCheckout() }
when {
allOf {
......@@ -181,98 +188,57 @@ pipeline {
}
}
parallel {
stage ('dispatcher sync source') {
steps {
timeout(time: 20, unit: 'MINUTES') {
sync_source()
script {
sh '''
echo "dispatcher ready"
date
'''
}
}
}
}
stage ('build worker01') {
agent {label " worker01 "}
stage ('build arm64') {
agent {label " worker07_arm64 || worker09_arm64 "}
steps {
timeout(time: 20, unit: 'MINUTES') {
pre_test()
script {
sh '''
echo "worker01 build done"
echo "arm64 build done"
date
'''
}
}
}
}
stage ('build worker02') {
agent {label " worker02 "}
stage ('build Mac') {
agent {label " Mac_catalina "}
steps {
timeout(time: 20, unit: 'MINUTES') {
pre_test()
pre_test_mac()
script {
sh '''
echo "worker02 build done"
echo "Mac build done"
date
'''
}
}
}
}
}
}
stage('run test') {
options { skipDefaultCheckout() }
when {
allOf {
changeRequest()
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
}
}
parallel {
stage ('build worker07_arm64') {
agent {label " worker07_arm64 "}
stage('run cases') {
agent {label " worker01 || worker02 "}
steps {
timeout(time: 20, unit: 'MINUTES') {
pre_test()
script {
sh '''
echo "worker07_arm64 build done"
date
pwd
hostname
'''
}
}
}
}
stage ('build Mac_catalina ') {
agent {label " Mac_catalina "}
steps {
timeout(time: 20, unit: 'MINUTES') {
pre_test_mac()
timeout(time: 15, unit: 'MINUTES') {
pre_test()
script {
sh '''
echo "Mac_catalina build done"
echo "Linux build done"
date
'''
}
}
}
}
stage('run cases') {
steps {
sh '''
date
hostname
'''
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
timeout(time: 21, unit: 'MINUTES') {
timeout(time: 25, unit: 'MINUTES') {
sh '''
date
cd ${WKC}/tests/parallel_test
timeout 1200 time ./run.sh -m m.json -t cases.task -l ${LOGDIR} -b ${BRANCH_NAME}
time ./run.sh -m /home/m.json -t cases.task -l ${LOGDIR} -b ${BRANCH_NAME}
date
hostname
'''
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册