1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/vars/abapEnvironmentPipeline.groovy
Daniel Mieg ae213a013e
Add stages for build process to ABAP Environment Pipeline (#2052)
* Add stages for build process

* fix typo

* Add createServiceKey to Build stage

* Fix typo

* Inital Checks is required when Build stage is exec

* Switch Order

* Fix Typo

* Add parameter for confirmation

* add "addIfEmpty"

* Add import

* revert

* revert2

* Remove import

* revert3

* Add stages to docu

* Update image
2020-10-02 17:03:43 +02:00

84 lines
3.2 KiB
Groovy

void call(parameters) {
pipeline {
agent none
options {
skipDefaultCheckout()
}
stages {
stage('Init') {
steps {
abapEnvironmentPipelineStageInit script: parameters.script, customDefaults: ['com.sap.piper/pipeline/abapStageOrdinals.yml'].plus(parameters.customDefaults ?: [])
}
}
stage('Initial Checks') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get("Build")}}
steps {
abapEnvironmentPipelineStageInitialChecks script: parameters.script
}
}
stage('Prepare System') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStagePrepareSystem script: parameters.script
}
}
stage('Clone Repositories') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStageCloneRepositories script: parameters.script
}
}
stage('ATC') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStageATC script: parameters.script
}
}
stage('Build') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStageBuild script: parameters.script
}
}
stage('Integration Tests') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStageIntegrationTests script: parameters.script
}
}
stage('Confirm') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get("Publish")}}
steps {
abapEnvironmentPipelineStageConfirm script: parameters.script
}
}
stage('Publish') {
when {expression {return parameters.script.commonPipelineEnvironment.configuration.runStage?.get(env.STAGE_NAME)}}
steps {
abapEnvironmentPipelineStagePublish 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 {
abapEnvironmentPipelineStagePost script: parameters.script
}
}
}
}