pipeline { agent any stages { stage('Build') { steps { sh 'echo "Build Project..."' } } stage('Integration-Tests') { steps { sh 'echo "Start Integration-Tests..."' } } stage('deploy') { parallel { stage('deploy-QA') { when { branch 'develop' } steps { sh 'mvn help:effective-settings ' sh 'mvn deploy -Pqa' } } stage('deploy-STAGING') { when { branch 'staging' } steps { sh 'mvn help:effective-settings ' sh 'mvn deploy -Pstaging' } } stage('deploy-RELEASE') { when { branch 'master' } steps { sh 'mvn help:effective-settings ' sh 'mvn deploy -Prelease' } } } } } post { always { cleanWs() } } }