48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
|
|
def MAVEN_IMAGE = 'maven:3.8.2-openjdk-11-slim'
|
||
|
|
|
||
|
|
pipeline {
|
||
|
|
agent any
|
||
|
|
|
||
|
|
stages {
|
||
|
|
stage('Build') {
|
||
|
|
agent {
|
||
|
|
docker {
|
||
|
|
image "${MAVEN_IMAGE}"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
steps {
|
||
|
|
// Get some code from a GitHub repository
|
||
|
|
git 'https://github.com/mabayhan/sonarqubejava'
|
||
|
|
|
||
|
|
// Run Maven on a Unix agent.
|
||
|
|
sh 'mvn -Dmaven.test.failure.ignore=true clean package'
|
||
|
|
|
||
|
|
// To run Maven on a Windows agent, use
|
||
|
|
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
|
||
|
|
}
|
||
|
|
|
||
|
|
post {
|
||
|
|
// If Maven was able to run the tests, even if some of the test
|
||
|
|
// failed, record the test results and archive the jar file.
|
||
|
|
success {
|
||
|
|
junit '**/target/surefire-reports/TEST-*.xml'
|
||
|
|
archiveArtifacts 'tests/target/*.jar'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
stage('Static Code Analysis') {
|
||
|
|
agent {
|
||
|
|
docker {
|
||
|
|
image 'sonarsource/sonar-scanner-cli'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
steps {
|
||
|
|
withSonarQubeEnv('cicd') {
|
||
|
|
sh 'sonar-scanner -Dsonar.projectKey=sonarqubejava:multimodule -Dsonar.sources=. -Dsonar.java.binaries=.'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|