// set the job options according to the Type of build def options = '' if (params.Type == 'SNAPSHOT') { echo "Will configure Maven for SNAPSHOT artifacts" options = '' maven_local_repo_path = '' maven_settings_file = '' } if (params.Type == 'RELEASE') { echo "Will configure Maven for RELEASE artifacts" options = '' maven_local_repo_path = '' maven_settings_file = '' } pipeline { agent any // environment variables available to the Pipeline environment { JOB_OPTIONS = "${options}" } parameters { choice(choices: ['SNAPSHOT', 'RELEASE'], description: 'The type of artifacts the build is expected to generate', name: 'Type') } stages { stage('build core components') { steps { withMaven(jdk: 'OpenJDK 8') { build 'maven-parent/master' build 'gcube-bom/master' build 'authorization-common-library/master' build 'gxRest/master' } script { echo "Done with core components" } } } } // post-build actions post { always { echo 'This will always run' } success { echo 'This will run only if successful' } failure { echo 'This will run only if failed' } unstable { echo 'This will run only if the run was marked as unstable' } changed { echo 'This will run only if the state of the Pipeline has changed' echo 'For example, if the Pipeline was previously failing but is now successful' } } }