Score
0
Watch 22 Star 51 Fork 17

重点研发计划2017 / incubator-iotdbJavaApache-2.0

Clone or download
Jenkinsfile
Copy Edit Web IDE Raw Normal History
Christofer Dutz   - Added the configuration for SonarQube analysis on build.apache.org/analysis 2019-01-18
#!groovy
朱天赐   Change javdoc to block comment. (#420) 2019-09-26
/*
Christofer Dutz   - Added the configuration for SonarQube analysis on build.apache.org/analysis 2019-01-18
 * 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 *
jixuan1989   ASF Header: remove the rest '2019 Apache IoTDB(incubating)...' (#30) 2019-01-25
 * 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.
Christofer Dutz   - Added the configuration for SonarQube analysis on build.apache.org/analysis 2019-01-18
 */pipeline {    agent {        node {            label 'ubuntu'        }    }    environment {        // Testfails will be handled by the jenkins junit steps and mark the build as unstable.        MVN_TEST_FAIL_IGNORE = '-Dmaven.test.failure.ignore=true'    }    tools {        maven 'Maven 3 (latest)'        jdk 'JDK 1.8 (latest)'    }    options {        timeout(time: 1, unit: 'HOURS')        // When we have test-fails e.g. we don't need to run the remaining steps        skipStagesAfterUnstable()    }    stages {        stage('Initialization') {            steps {                echo 'Building Branch: ' + env.BRANCH_NAME                echo 'Using PATH = ' + env.PATH            }        }        stage('Checkout') {            steps {                echo 'Checking out branch ' + env.BRANCH_NAME                checkout scm            }        }        stage('Build (not master)') {            when {                expression {                    env.BRANCH_NAME != 'master'                }            }            steps {                echo 'Building'                sh 'mvn ${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'            }            post {                always {                    junit(testResults: '**/surefire-reports/*.xml', allowEmptyResults: true)                    junit(testResults: '**/failsafe-reports/*.xml', allowEmptyResults: true)                }            }        }        stage('Build') {            when {                branch 'master'            }            steps {                echo 'Building'                // We'll deploy to a relative directory so we can                // deploy new versions only if the entrie build succeeds                sh 'mvn ${MVN_TEST_FAIL_IGNORE} -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy'            }            post {                always {                    junit(testResults: '**/surefire-reports/*.xml', allowEmptyResults: true)                    junit(testResults: '**/failsafe-reports/*.xml', allowEmptyResults: true)                }            }        }
jixuan1989   disable sonar analysis temporary (#611) 2019-12-01
//        stage('Code Quality') {//            when {//                branch 'master'//            }//            steps {//                echo 'Checking Code Quality'//                withSonarQubeEnv('ASF Sonar Analysis') {//                    sh 'mvn sonar:sonar'//                }//            }//        }
Christofer Dutz   - Added the configuration for SonarQube analysis on build.apache.org/analysis 2019-01-18
        stage('Deploy') {            when {                branch 'master'            }            steps {                echo 'Deploying'                // Deploy the artifacts using the wagon-maven-plugin.                sh 'mvn -f jenkins.pom -X -P deploy-snapshots wagon:upload'            }        }        stage('Cleanup') {            steps {                echo 'Cleaning up the workspace'                deleteDir()            }        }    }    // Send out notifications on unsuccessful builds.    post {        // If this build failed, send an email to the list.        failure {            script {                if(env.BRANCH_NAME == "master") {                    emailext(                        subject: "[BUILD-FAILURE]: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",                        body: """BUILD-FAILURE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]':Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]</a>"""",                        to: "dev@iotdb.apache.org"                    )                }            }        }        // If this build didn't fail, but there were failing tests, send an email to the list.        unstable {            script {                if(env.BRANCH_NAME == "master") {                    emailext(                        subject: "[BUILD-UNSTABLE]: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",                        body: """BUILD-UNSTABLE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]':Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]</a>"""",                        to: "dev@iotdb.apache.org"                    )                }            }        }        // Send an email, if the last build was not successful and this one is.        success {            script {                if ((env.BRANCH_NAME == "master") && (currentBuild.previousBuild != null) && (currentBuild.previousBuild.result != 'SUCCESS')) {                    emailext (                        subject: "[BUILD-STABLE]: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]'",                        body: """BUILD-STABLE: Job '${env.JOB_NAME} [${env.BRANCH_NAME}] [${env.BUILD_NUMBER}]':Is back to normal.""",                        to: "dev@iotdb.apache.org"                    )                }            }        }    }}