TDengine/Jenkinsfile

201 lines
6.5 KiB
Text
Raw Normal View History

2020-12-15 09:59:29 +00:00
import hudson.model.Result
import hudson.model.*;
2020-12-15 09:59:29 +00:00
import jenkins.model.CauseOfInterruption
node {
}
2021-11-10 11:40:40 +00:00
def skipbuild=0
def win_stop=0
2020-12-15 09:59:29 +00:00
2021-03-23 04:27:54 +00:00
def abortPreviousBuilds() {
def currentJobName = env.JOB_NAME
def currentBuildNumber = env.BUILD_NUMBER.toInteger()
def jobs = Jenkins.instance.getItemByFullName(currentJobName)
def builds = jobs.getBuilds()
2021-03-23 04:27:54 +00:00
for (build in builds) {
if (!build.isBuilding()) {
continue;
}
2021-03-23 02:21:44 +00:00
2021-03-23 04:27:54 +00:00
if (currentBuildNumber == build.getNumber().toInteger()) {
continue;
}
build.doKill() //doTerm(),doKill(),doTerm()
}
}
// abort previous build
abortPreviousBuilds()
def abort_previous(){
def buildNumber = env.BUILD_NUMBER as int
if (buildNumber > 1) milestone(buildNumber - 1)
milestone(buildNumber)
}
def pre_test(){
2021-08-10 10:28:04 +00:00
sh'hostname'
2021-03-23 02:21:44 +00:00
sh '''
sudo rmtaos || echo "taosd has not installed"
'''
2021-02-05 05:56:34 +00:00
sh '''
2021-03-26 01:44:24 +00:00
killall -9 taosd ||echo "no taosd running"
killall -9 gdb || echo "no gdb running"
2021-08-03 05:51:48 +00:00
killall -9 python3.8 || echo "no python program running"
2021-10-27 06:17:28 +00:00
cd ${WKC}
2021-04-07 01:34:13 +00:00
'''
script {
if (env.CHANGE_TARGET == 'master') {
2021-04-07 01:46:09 +00:00
sh '''
2021-10-27 06:17:28 +00:00
cd ${WKC}
2021-04-07 01:46:09 +00:00
git checkout master
'''
2021-04-07 01:34:13 +00:00
}
else if(env.CHANGE_TARGET == '2.0'){
2021-04-07 01:46:09 +00:00
sh '''
2021-10-27 06:17:28 +00:00
cd ${WKC}
git checkout 2.0
2021-04-07 01:46:09 +00:00
'''
2021-09-15 01:38:05 +00:00
}
else if(env.CHANGE_TARGET == '3.0'){
sh '''
2021-10-27 06:17:28 +00:00
cd ${WKC}
2021-09-15 01:38:05 +00:00
git checkout 3.0
'''
2021-04-07 01:34:13 +00:00
}
else{
sh '''
2021-10-27 06:17:28 +00:00
cd ${WKC}
git checkout develop
'''
}
2021-04-07 01:34:13 +00:00
}
sh'''
2021-10-27 06:17:28 +00:00
cd ${WKC}
2021-03-17 01:23:50 +00:00
git pull >/dev/null
2021-02-05 05:56:34 +00:00
git fetch origin +refs/pull/${CHANGE_ID}/merge
git checkout -qf FETCH_HEAD
export TZ=Asia/Harbin
date
2021-12-20 08:01:01 +00:00
rm -rf debug
mkdir debug
cd debug
cmake .. -DBUILD_TEST=true > /dev/null
2021-12-17 07:49:15 +00:00
make -j4> /dev/null
2021-09-24 11:27:03 +00:00
2021-02-05 05:56:34 +00:00
'''
return 1
}
2021-02-05 05:56:34 +00:00
2020-09-30 07:24:22 +00:00
pipeline {
2020-10-13 05:56:42 +00:00
agent none
options { skipDefaultCheckout() }
2020-10-13 05:56:42 +00:00
environment{
WK = '/var/lib/jenkins/workspace/TDinternal'
2021-12-17 06:35:19 +00:00
WKC= '/var/lib/jenkins/workspace/TDengine'
2020-10-13 05:56:42 +00:00
}
2020-09-30 07:24:22 +00:00
stages {
2021-02-05 03:37:17 +00:00
stage('pre_build'){
2021-12-17 07:16:25 +00:00
agent{label 'slave3_0'}
options { skipDefaultCheckout() }
2021-02-05 05:56:34 +00:00
when {
changeRequest()
}
2021-02-05 03:32:50 +00:00
steps {
2021-03-23 04:59:41 +00:00
script{
abort_previous()
abortPreviousBuilds()
}
2022-01-10 05:23:56 +00:00
timeout(time: 45, unit: 'MINUTES'){
pre_test()
sh'''
cd ${WKC}/tests
./test-all.sh b1fq
'''
sh'''
cd ${WKC}/debug
ctest -VV
2022-01-10 05:23:56 +00:00
'''
}
2021-02-05 03:32:50 +00:00
}
}
2020-12-15 09:59:29 +00:00
}
2021-02-05 05:56:34 +00:00
post {
success {
emailext (
2021-02-05 03:07:37 +00:00
subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS",
body: """<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B"><font size="6">构建信息</font></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<div style="font-size:18px">
2021-02-05 03:07:37 +00:00
<li>构建名称>>分支:${env.BRANCH_NAME}</li>
<li>构建结果:<span style="color:green"> Successful </span></li>
<li>构建编号:${BUILD_NUMBER}</li>
2021-02-05 03:07:37 +00:00
<li>触发用户:${env.CHANGE_AUTHOR}</li>
2021-02-05 06:12:04 +00:00
<li>提交信息:${env.CHANGE_TITLE}</li>
<li>构建地址:<a href=${BUILD_URL}>${BUILD_URL}</a></li>
<li>构建日志:<a href=${BUILD_URL}console>${BUILD_URL}console</a></li>
2021-02-05 03:07:37 +00:00
</div>
</ul>
</td>
</tr>
</table></font>
</body>
2021-02-05 03:07:37 +00:00
</html>""",
2021-01-25 06:16:44 +00:00
to: "${env.CHANGE_AUTHOR_EMAIL}",
from: "support@taosdata.com"
)
}
failure {
emailext (
2021-02-05 03:07:37 +00:00
subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' FAIL",
body: """<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 16pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B"><font size="6">构建信息</font></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<div style="font-size:18px">
2021-02-05 03:07:37 +00:00
<li>构建名称>>分支:${env.BRANCH_NAME}</li>
2021-02-05 05:56:34 +00:00
<li>构建结果:<span style="color:red"> Failure </span></li>
<li>构建编号:${BUILD_NUMBER}</li>
2021-02-05 03:07:37 +00:00
<li>触发用户:${env.CHANGE_AUTHOR}</li>
2021-02-05 06:12:04 +00:00
<li>提交信息:${env.CHANGE_TITLE}</li>
<li>构建地址:<a href=${BUILD_URL}>${BUILD_URL}</a></li>
<li>构建日志:<a href=${BUILD_URL}console>${BUILD_URL}console</a></li>
2021-02-05 03:07:37 +00:00
</div>
</ul>
</td>
</tr>
</table></font>
</body>
2021-02-05 03:07:37 +00:00
</html>""",
2021-01-25 06:16:44 +00:00
to: "${env.CHANGE_AUTHOR_EMAIL}",
from: "support@taosdata.com"
)
}
2021-08-11 05:38:32 +00:00
}
}