fix/pipeline #18

Closed
bquarkz wants to merge 18 commits from fix/pipeline into master
2 changed files with 69 additions and 37 deletions
Showing only changes of commit 0f83b57066 - Show all commits

57
Jenkinsfile vendored
View File

@ -2,25 +2,58 @@ pipeline {
agent any agent any
stages { stages {
stage('app') { stage('Build') {
steps { steps {
withChecks(name: 'build', includeStage: false) { 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) { withChecks(name: 'test-coverage', includeStage: false) {
sh './gradlew test jacocoTestReport jacocoTestCoverageVerification' withGradle {
junit '**/build/test-results/test/TEST-*.xml' sh """
recordCoverage(tools: [[parser: 'JACOCO']], ./gradlew test jacocoTestReport jacocoTestCoverageVerification --no-daemon
id: 'jacoco', name: 'jacoco-coverage', """
sourceCodeRetention: 'EVERY_BUILD' }
// , qualityGates: [ recordCoverage(tools: [[parser: 'JACOCO', pattern: '**/build/reports/jacoco/test/jacoco*.xml']],
// [threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true], id: 'jacoco',
// [threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]] 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
}
} }

View File

@ -40,33 +40,32 @@ jacoco {
tasks.jacocoTestReport { tasks.jacocoTestReport {
reports { reports {
xml.required.set(true) xml.required.set(true)
xml.outputLocation.set(file("build/reports/jacoco/test/jacoco.xml"))
csv.required.set(false) csv.required.set(false)
html.required.set(false) html.required.set(true)
} }
} }
tasks.jacocoTestCoverageVerification { //tasks.jacocoTestCoverageVerification {
violationRules { // violationRules {
rule { // rule {
limit { // limit {
minimum = "0.2".toBigDecimal() // minimum = "0.2".toBigDecimal()
} // }
} // }
//
rule { // rule {
isEnabled = false // isEnabled = false
element = "CLASS" // element = "CLASS"
includes = listOf("jenkins.test.*") // includes = listOf("jenkins.test.*")
//
limit { // limit {
counter = "LINE" // counter = "LINE"
value = "TOTALCOUNT" // value = "TOTALCOUNT"
minimum = "0.3".toBigDecimal() // minimum = "0.3".toBigDecimal()
} // }
} // }
} // }
} //}
application { application {
// Define the main class for the application. // Define the main class for the application.