#!/usr/bin/env groovy node { withEnv(["PATH=$HOME/bin:$PATH"]) { stage('checkout') { checkout scm } stage('check java') { sh "java -version" } stage('clean') { sh "chmod +x gradlew" sh "./gradlew clean --no-daemon" } stage('npm install') { sh "./gradlew npm_install -PnodeInstall --no-daemon" } stage('backend tests') { try { sh "./gradlew test -PnodeInstall --no-daemon" } catch (err) { throw err } finally { junit '**/build/**/TEST-*.xml' } } stage('frontend tests') { try { sh "./gradlew npm_run_test -PnodeInstall --no-daemon" } catch (err) { throw err } finally { junit '**/build/test-results/TESTS-*.xml' } } stage('packaging') { sh "./gradlew bootWar -x test -Pprod -PnodeInstall --no-daemon" archiveArtifacts artifacts: '**/build/libs/*.war', fingerprint: true } stage('quality analysis') { withSonarQubeEnv('sonar') { sh "./gradlew sonarqube --no-daemon" } } } }