51 lines
1.1 KiB
Groovy
51 lines
1.1 KiB
Groovy
#!/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
|
|
}
|
|
|
|
}
|