fix/pipeline #18
61
Jenkinsfile
vendored
61
Jenkinsfile
vendored
@ -2,25 +2,58 @@ pipeline {
|
||||
agent any
|
||||
|
||||
stages {
|
||||
stage('app') {
|
||||
stage('Build') {
|
||||
steps {
|
||||
withChecks(name: 'build', includeStage: false) {
|
||||
sh './gradlew clean testClasses'
|
||||
withGradle {
|
||||
sh """
|
||||
./gradlew clean testClasses --no-daemon
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
} // Build
|
||||
|
||||
stage('Test') {
|
||||
steps {
|
||||
withChecks(name: 'test-coverage', includeStage: false) {
|
||||
sh './gradlew test jacocoTestReport jacocoTestCoverageVerification'
|
||||
junit '**/build/test-results/test/TEST-*.xml'
|
||||
recordCoverage(tools: [[parser: 'JACOCO']],
|
||||
id: 'jacoco', name: 'jacoco-coverage',
|
||||
sourceCodeRetention: 'EVERY_BUILD'
|
||||
// , qualityGates: [
|
||||
// [threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true],
|
||||
// [threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]]
|
||||
withGradle {
|
||||
sh """
|
||||
./gradlew test jacocoTestReport jacocoTestCoverageVerification --no-daemon
|
||||
"""
|
||||
}
|
||||
recordCoverage(tools: [[parser: 'JACOCO', pattern: '**/build/reports/jacoco/test/jacoco*.xml']],
|
||||
id: 'jacoco',
|
||||
name: 'Jacoco Coverage',
|
||||
sourceCodeRetention: 'EVERY_BUILD',
|
||||
qualityGates: [
|
||||
[threshold: 40.0, metric: 'CLASS', baseline: 'PROJECT', unstable: true],
|
||||
[threshold: 40.0, metric: 'METHOD', baseline: 'PROJECT', unstable: true],
|
||||
[threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true],
|
||||
[threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]]
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // Test
|
||||
|
||||
stage('Post') {
|
||||
steps {
|
||||
script {
|
||||
junit '**/build/test-results/test/TEST-*.xml'
|
||||
// archiveArtifacts artifacts: '**/coverage-sources.zip', allowEmptyArchive: false, fingerprint: false, onlyIfSuccessful: false
|
||||
publishHTML (target: [
|
||||
allowMissing: true,
|
||||
alwaysLinkToLastBuild: false,
|
||||
keepAll: true,
|
||||
reportDir: 'app/build/reports/jacoco/test/html',
|
||||
reportFiles: 'index.html',
|
||||
reportName: 'Coverage Report'
|
||||
])
|
||||
// def pmd = scanForIssues tool: [$class: 'Pmd'], pattern: 'lib/build/reports/pmd/*.xml'
|
||||
// publishIssues issues: [pmd]
|
||||
}
|
||||
}
|
||||
} // Post
|
||||
}
|
||||
}
|
||||
@ -40,33 +40,32 @@ jacoco {
|
||||
tasks.jacocoTestReport {
|
||||
reports {
|
||||
xml.required.set(true)
|
||||
xml.outputLocation.set(file("build/reports/jacoco/test/jacoco.xml"))
|
||||
csv.required.set(false)
|
||||
html.required.set(false)
|
||||
html.required.set(true)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.jacocoTestCoverageVerification {
|
||||
violationRules {
|
||||
rule {
|
||||
limit {
|
||||
minimum = "0.2".toBigDecimal()
|
||||
}
|
||||
}
|
||||
|
||||
rule {
|
||||
isEnabled = false
|
||||
element = "CLASS"
|
||||
includes = listOf("jenkins.test.*")
|
||||
|
||||
limit {
|
||||
counter = "LINE"
|
||||
value = "TOTALCOUNT"
|
||||
minimum = "0.3".toBigDecimal()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//tasks.jacocoTestCoverageVerification {
|
||||
// violationRules {
|
||||
// rule {
|
||||
// limit {
|
||||
// minimum = "0.2".toBigDecimal()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// rule {
|
||||
// isEnabled = false
|
||||
// element = "CLASS"
|
||||
// includes = listOf("jenkins.test.*")
|
||||
//
|
||||
// limit {
|
||||
// counter = "LINE"
|
||||
// value = "TOTALCOUNT"
|
||||
// minimum = "0.3".toBigDecimal()
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
application {
|
||||
// Define the main class for the application.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user