// set the build options according to the Type of build def (options,maven_local_repo_path,maven_settings_file) = ['','',''] if (params.Type == 'SNAPSHOT') { echo "Will configure Maven for SNAPSHOT artifacts" options = '' maven_local_repo_path = '~/local-snapshots' maven_settings_file = '~/.m2/settings.xml' } if (params.Type == 'RELEASE') { echo "Will configure Maven for RELEASE artifacts" options = '' maven_local_repo_path = '~/local-releases' maven_settings_file = '~/.m2/settings.xml' } 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', mavenLocalRepo: "${maven_local_repo_path}", mavenSettingsFilePath: "${maven_settings_file}") { build 'maven-parent' build 'gcube-bom' build 'authorization-common-library' build 'gxRest' } 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' } } }