diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..cc77e57 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,47 @@ +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=.' + } + } + } + } +}