52 lines
1.1 KiB
Groovy
52 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 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"
|
|
}
|
|
}
|
|
}
|