mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
f7015b562d
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
97 lines
5.1 KiB
Groovy
97 lines
5.1 KiB
Groovy
void call(parameters) {
|
|
pipeline {
|
|
agent none
|
|
triggers {
|
|
issueCommentTrigger('.*/piper ([a-z]*).*')
|
|
}
|
|
options {
|
|
skipDefaultCheckout()
|
|
timestamps()
|
|
}
|
|
stages {
|
|
stage('Init') {
|
|
steps {
|
|
piperPipelineStageInit script: parameters.script, customDefaults: ['com.sap.piper/pipeline/stageOrdinals.yml'].plus(parameters.customDefaults ?: [])
|
|
}
|
|
}
|
|
stage('Pull-Request Voting') {
|
|
when { anyOf { branch 'PR-*'; branch parameters.script.commonPipelineEnvironment.getStepConfiguration('piperPipelineStagePRVoting', 'Pull-Request Voting').customVotingBranch } }
|
|
steps {
|
|
piperPipelineStagePRVoting script: parameters.script
|
|
}
|
|
}
|
|
stage('Build') {
|
|
when {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch}
|
|
steps {
|
|
piperPipelineStageBuild script: parameters.script
|
|
}
|
|
}
|
|
stage('Additional Unit Tests') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageAdditionalUnitTests script: parameters.script
|
|
}
|
|
}
|
|
stage('Integration') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageIntegration script: parameters.script
|
|
}
|
|
}
|
|
stage('Acceptance') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageAcceptance script: parameters.script
|
|
}
|
|
}
|
|
stage('Security') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageSecurity script: parameters.script
|
|
}
|
|
}
|
|
stage('Performance') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStagePerformance script: parameters.script
|
|
}
|
|
}
|
|
stage('Compliance') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageCompliance script: parameters.script
|
|
}
|
|
}
|
|
stage('Confirm') {
|
|
agent none
|
|
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}}}}
|
|
steps {
|
|
piperPipelineStageConfirm script: parameters.script
|
|
}
|
|
}
|
|
stage('Promote') {
|
|
when { branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch}
|
|
steps {
|
|
piperPipelineStagePromote script: parameters.script
|
|
}
|
|
}
|
|
stage('Release') {
|
|
when {allOf {branch parameters.script.commonPipelineEnvironment.getStepConfiguration('', '').productiveBranch; expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}}
|
|
steps {
|
|
piperPipelineStageRelease script: parameters.script
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
/* https://jenkins.io/doc/book/pipeline/syntax/#post */
|
|
success {buildSetResult(currentBuild)}
|
|
aborted {buildSetResult(currentBuild, 'ABORTED')}
|
|
failure {buildSetResult(currentBuild, 'FAILURE')}
|
|
unstable {buildSetResult(currentBuild, 'UNSTABLE')}
|
|
cleanup {
|
|
piperPipelineStagePost script: parameters.script
|
|
}
|
|
}
|
|
}
|
|
}
|