github.com/jaylevin/jenkins-library@v1.230.4/vars/piperPipeline.groovy (about) 1 void call(parameters) { 2 pipeline { 3 agent none 4 triggers { 5 issueCommentTrigger('.*/piper ([a-z]*).*') 6 } 7 options { 8 skipDefaultCheckout() 9 timestamps() 10 } 11 stages { 12 stage('Init') { 13 steps { 14 piperPipelineStageInit script: parameters.script, customDefaults: ['com.sap.piper/pipeline/stageOrdinals.yml'].plus(parameters.customDefaults ?: []) 15 } 16 } 17 stage('Pull-Request Voting') { 18 when { anyOf { branch 'PR-*'; branch parameters.script.commonPipelineEnvironment.getStepConfiguration('piperPipelineStagePRVoting', 'Pull-Request Voting').customVotingBranch } } 19 steps { 20 piperPipelineStagePRVoting script: parameters.script 21 } 22 } 23 stage('Build') { 24 when {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch} 25 steps { 26 piperPipelineStageBuild script: parameters.script 27 } 28 } 29 stage('Additional Unit Tests') { 30 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 31 steps { 32 piperPipelineStageAdditionalUnitTests script: parameters.script 33 } 34 } 35 stage('Integration') { 36 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 37 steps { 38 piperPipelineStageIntegration script: parameters.script 39 } 40 } 41 stage('Acceptance') { 42 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 43 steps { 44 piperPipelineStageAcceptance script: parameters.script 45 } 46 } 47 stage('Security') { 48 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 49 steps { 50 piperPipelineStageSecurity script: parameters.script 51 } 52 } 53 stage('Performance') { 54 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 55 steps { 56 piperPipelineStagePerformance script: parameters.script 57 } 58 } 59 stage('Compliance') { 60 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 61 steps { 62 piperPipelineStageCompliance script: parameters.script 63 } 64 } 65 stage('Confirm') { 66 agent none 67 when {allOf {expression { env.BRANCH_NAME ==~ parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch }; anyOf {expression {return (currentBuild.result == 'UNSTABLE')}; expression {return parameters.script.commonPipelineEnvironment.getStepConfiguration('piperInitRunStageConfiguration', env.STAGE_NAME).manualConfirmation}}}} 68 steps { 69 piperPipelineStageConfirm script: parameters.script 70 } 71 } 72 stage('Promote') { 73 when { branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch} 74 steps { 75 piperPipelineStagePromote script: parameters.script 76 } 77 } 78 stage('Release') { 79 when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}} 80 steps { 81 piperPipelineStageRelease script: parameters.script 82 } 83 } 84 } 85 post { 86 /* https://jenkins.io/doc/book/pipeline/syntax/#post */ 87 success {buildSetResult(currentBuild)} 88 aborted {buildSetResult(currentBuild, 'ABORTED')} 89 failure {buildSetResult(currentBuild, 'FAILURE')} 90 unstable {buildSetResult(currentBuild, 'UNSTABLE')} 91 cleanup { 92 piperPipelineStagePost script: parameters.script 93 } 94 } 95 } 96 }