#!/usr/bin/env groovy node { stage('checkout') { checkout scm } stage('check java') { sh "java -version" } stage('clean') { sh "chmod +x mvnw" sh "./mvnw clean" } stage('install tools') { sh "./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-npm -DnodeVersion=v6.10.0 -DnpmVersion=4.3.0" } stage('npm install') { sh "./mvnw com.github.eirslett:frontend-maven-plugin:npm" } stage('backend tests') { try { sh "./mvnw test" } catch(err) { throw err } finally { junit '**/target/surefire-reports/TEST-*.xml' } } stage('frontend tests') { try { sh "./mvnw com.github.eirslett:frontend-maven-plugin:npm -Dfrontend.yarn.arguments=test" } catch(err) { throw err } finally { junit '**/target/test-results/karma/TESTS-*.xml' } } stage('packaging') { sh "./mvnw package -Pprod -DskipTests" archiveArtifacts artifacts: '**/target/*.war', fingerprint: true } }