Skip to content
Snippets Groups Projects
Select Git revision
  • 92ef2f77862e790247f95a82b9b91c996e9d557a
  • main default protected
  • release
  • 2.8.1
  • 2.8.0
  • 2.7.0
  • 2.6.0
  • 2.5.0
  • 2.4.0
  • 2.3.0
  • 2.2.0
  • 2.1.1
  • 2.1.0
  • 2.0.0
  • 1.1.0
  • 1.0.0
16 results

Jenkinsfile

Blame
  • Jenkinsfile 12.04 KiB
    pipeline {
        agent {
           node {
               label 'ozgcloud-jenkins-build-agent'
            }
        }
    
        environment {
            BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/ozg-operator/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/"
            RELEASE_REGEX = /\d+.\d+.\d+/
            SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/
            FAILED_STAGE = ""
            SH_SUCCESS_STATUS_CODE = 0
        }
    
        options {
            timeout(time: 1, unit: 'HOURS')
            disableConcurrentBuilds()
            buildDiscarder(logRotator(numToKeepStr: '5'))
        }
    
        stages {
            stage('Check Version') {
                steps {
                    script {
                        FAILED_STAGE = env.STAGE_NAME
                        def rootPom = readMavenPom file: 'pom.xml'
                        def rootVersion = rootPom.version
    
    
                        if(env.BRANCH_NAME == 'release'){
                            if ( !isReleaseVersion([rootVersion])) {
                                error("Keine Release Version für Branch ${env.BRANCH_NAME}.")
                            }
                        } else {
                            if ( !isSnapshotVersion([rootVersion])) {
                                error("Keine Snapshot Version für Branch ${env.BRANCH_NAME}.")
                            }
                        }                   
                    }
                }
            }
            stage('Build OZG-Operator') {
                steps {
                    script {
                        FAILED_STAGE=env.STAGE_NAME
                    }
                    configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                        sh 'mvn --version'
                        sh 'mvn -s $MAVEN_SETTINGS clean install -Dmaven.wagon.http.retryHandler.count=3'
                            
                        script {
                          	try {
    	                        if (env.BRANCH_NAME == 'master') {
    		                        withSonarQubeEnv('sonarqube-ozg-sh'){
    		        					sh 'mvn -s $MAVEN_SETTINGS sonar:sonar'	                                
    		                        }
    		                    }
    		                } catch (Exception e) {
    	                        unstable("SonarQube failed")
    	                    }
                        }
                    }
                }
                post {
                    always{
                        junit testResults: '**/target/surefire-reports/*.xml', skipPublishingChecks: true
                    }
                }
            }