mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-18 13:35:50 +00:00
Jenkins: Archive JUnit results also on failing tests
This commit is contained in:
parent
e92ae405dd
commit
ef3e3defd4
1 changed files with 60 additions and 60 deletions
120
Jenkinsfile
vendored
120
Jenkinsfile
vendored
|
@ -1,75 +1,75 @@
|
|||
#!groovy
|
||||
node {
|
||||
|
||||
cesFqdn = "ecosystem.cloudogu.net";
|
||||
cesUrl = "https://${cesFqdn}";
|
||||
credentials = usernamePassword(credentialsId: 'scmCredentials', passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME');
|
||||
cesFqdn = "ecosystem.cloudogu.net"
|
||||
cesUrl = "https://${cesFqdn}"
|
||||
credentials = usernamePassword(credentialsId: 'scmCredentials', passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME')
|
||||
|
||||
stage('Checkout') {
|
||||
checkout scm
|
||||
}
|
||||
catchError {
|
||||
|
||||
stage('Build') {
|
||||
mvn "-DskipTests clean package"
|
||||
|
||||
// archive artifact
|
||||
archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true
|
||||
}
|
||||
|
||||
parallel(
|
||||
test: {
|
||||
stage('Test') {
|
||||
String jacoco = "org.jacoco:jacoco-maven-plugin:0.7.7.201606060606";
|
||||
mvn "${jacoco}:prepare-agent test ${jacoco}:report"
|
||||
|
||||
// Archive JUnit results, if any
|
||||
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/TEST-*.xml'
|
||||
}
|
||||
},
|
||||
integrationTest: {
|
||||
stage('Integration Test') {
|
||||
String jacoco = "org.jacoco:jacoco-maven-plugin:0.7.7.201606060606";
|
||||
mvn "${jacoco}:prepare-agent-integration failsafe:integration-test ${jacoco}:report-integration"
|
||||
|
||||
// Archive JUnit results, if any
|
||||
junit allowEmptyResults: true, testResults: '**/target/failsafe-reports/TEST-*.xml'
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
stage('SonarQube Analysis') {
|
||||
withCredentials([credentials]) {
|
||||
//noinspection GroovyAssignabilityCheck
|
||||
mvn "org.codehaus.mojo:sonar-maven-plugin:3.2:sonar -Dsonar.host.url=${cesUrl}/sonar " +
|
||||
"-Dsonar.login=${USERNAME} -Dsonar.password=${PASSWORD} -Dsonar.exclusions=target/**"
|
||||
stage('Checkout') {
|
||||
checkout scm
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
mvn "-DskipTests clean package"
|
||||
|
||||
// archive artifact
|
||||
archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true
|
||||
}
|
||||
|
||||
parallel(
|
||||
test: {
|
||||
stage('Test') {
|
||||
String jacoco = "org.jacoco:jacoco-maven-plugin:0.7.7.201606060606";
|
||||
mvn "${jacoco}:prepare-agent test ${jacoco}:report"
|
||||
}
|
||||
},
|
||||
integrationTest: {
|
||||
stage('Integration Test') {
|
||||
String jacoco = "org.jacoco:jacoco-maven-plugin:0.7.7.201606060606";
|
||||
mvn "${jacoco}:prepare-agent-integration failsafe:integration-test ${jacoco}:report-integration"
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
stage('SonarQube Analysis') {
|
||||
withCredentials([credentials]) {
|
||||
//noinspection GroovyAssignabilityCheck
|
||||
mvn "org.codehaus.mojo:sonar-maven-plugin:3.2:sonar -Dsonar.host.url=${cesUrl}/sonar " +
|
||||
"-Dsonar.login=${USERNAME} -Dsonar.password=${PASSWORD} -Dsonar.exclusions=target/**"
|
||||
}
|
||||
}
|
||||
|
||||
parallel(
|
||||
deployArtifacts: {
|
||||
stage('Deploy Artifacts') {
|
||||
String releaseProp = "-DaltReleaseDeploymentRepository=${cesFqdn}::default::${cesUrl}/nexus/content/repositories/releases/";
|
||||
String snapshotProp = "-DaltSnapshotDeploymentRepository=${cesFqdn}::default::${cesUrl}/nexus/content/repositories/snapshots/";
|
||||
mvn "-DskipTests deploy ${releaseProp} ${snapshotProp}"
|
||||
}
|
||||
},
|
||||
deployApplication: {
|
||||
|
||||
stage('Deploy Application') {
|
||||
sh "ansible-playbook playbook.yaml"
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
parallel(
|
||||
deployArtifacts: {
|
||||
stage('Deploy Artifacts') {
|
||||
String releaseProp = "-DaltReleaseDeploymentRepository=${cesFqdn}::default::${cesUrl}/nexus/content/repositories/releases/";
|
||||
String snapshotProp = "-DaltSnapshotDeploymentRepository=${cesFqdn}::default::${cesUrl}/nexus/content/repositories/snapshots/";
|
||||
mvn "-DskipTests deploy ${releaseProp} ${snapshotProp}"
|
||||
}
|
||||
},
|
||||
deployApplication: {
|
||||
|
||||
stage('Deploy Application') {
|
||||
sh "ansible-playbook playbook.yaml"
|
||||
}
|
||||
}
|
||||
)
|
||||
// Archive Unit and integration test results, if any
|
||||
junit allowEmptyResults: true, testResults: '**/target/failsafe-reports/TEST-*.xml,**/target/surefire-reports/TEST-*.xml'
|
||||
}
|
||||
|
||||
String cesFqdn;
|
||||
String cesUrl;
|
||||
def credentials;
|
||||
String cesFqdn
|
||||
String cesUrl
|
||||
def credentials
|
||||
|
||||
void mvn(String args) {
|
||||
writeSettingsXml()
|
||||
sh "./mvnw -s settings.xml --batch-mode -V -U -e -Dsurefire.useFile=false ${args}"
|
||||
sh 'rm -f settings.xml'
|
||||
writeSettingsXml()
|
||||
sh "./mvnw -s settings.xml --batch-mode -V -U -e -Dsurefire.useFile=false ${args}"
|
||||
sh 'rm -f settings.xml'
|
||||
}
|
||||
|
||||
void writeSettingsXml() {
|
||||
|
|
Loading…
Reference in a new issue