skywalking-java/Jenkinsfile-Agent-Test-3

143 lines
4.5 KiB
Plaintext
Executable File

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
pipeline {
agent {
label 'skywalking'
}
options {
timestamps()
timeout(time: 5, unit: 'HOURS')
parallelsAlwaysFailFast()
}
tools {
jdk 'JDK 1.8 (latest)'
}
environment {
BUILD_NO="wl3_${BUILD_ID}"
MAVEN_OPTS = '-Dmaven.repo.local=.m2/repository -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -Xmx3g'
}
stages {
stage('Checkout Source Code') {
steps {
sh 'bash ./test/plugin/script/systeminfo.sh'
deleteDir()
checkout scm
sh 'git submodule update --init'
}
}
stage('Compile agent Codes') {
when {
expression {
return sh(returnStatus: true, script: 'bash tools/ci/agent-build-condition.sh')
}
}
steps {
sh './mvnw -Pagent clean package -DskipTests'
}
}
stage('Compile plugin-test tools Codes') {
when {
expression {
return sh(returnStatus: true, script: 'bash tools/ci/agent-build-condition.sh')
}
}
steps {
sh './mvnw -f test/plugin/pom.xml clean package -DskipTests docker:build'
}
}
stage('Test Cases Report (160)') {
steps {
echo "Test Cases Report"
}
}
stage('Run Agent Plugin Tests') {
when {
expression {
return sh(returnStatus: true, script: 'bash tools/ci/agent-build-condition.sh')
}
}
parallel {
stage('Group1') {
stages {
stage('hystrix 1.4.20-1.5.12 (20)') {
steps {
sh 'bash test/plugin/run.sh hystrix-scenario'
}
}
stage('postgresql 9.2.x-9.4.x (36)') {
steps {
sh 'bash test/plugin/run.sh postgresql-scenario'
}
}
stage('sofarpc 5.4.0-5.6.2 (23)') {
steps {
sh 'bash test/plugin/run.sh sofarpc-scenario'
}
}
stage('spring 3.0.x (8)') {
steps {
sh 'bash test/plugin/run.sh spring-3.0.x-scenario'
}
}
}
}
stage('Group2') {
stages {
stage('spring async 4.3.x-5.1.x (35)') {
steps {
sh 'bash test/plugin/run.sh spring-async-scenario'
}
}
stage('mongodb 3.4.0-3.11.1 (17)') {
steps {
sh 'bash test/plugin/run.sh mongodb-3.x-scenario'
}
}
stage('grpc 1.0.0-1.9.0 (21)') {
steps {
sh 'bash test/plugin/run.sh grpc-scenario'
}
}
}
}
}
}
}
post {
cleanup {
sh 'bash test/plugin/run.sh --cleanup'
deleteDir()
}
}
}