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  }