-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathJenkinsfile
32 lines (26 loc) · 1 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
node {
stage('Build tooling') {
env.JAVA_HOME = "${tool 'jdk8'}"
env.PATH = "${env.JAVA_HOME}/bin:${env.PATH}"
mvnHome = tool 'maven3'
env.MAVEN_OPTS = "-Xmx512m -XX:MaxPermSize=128m"
}
stage('Checkout') {
checkout scm
LONG_GIT_COMMIT = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
GIT_COMMIT = LONG_GIT_COMMIT.take(8)
GIT_BRANCH = env.BRANCH_NAME
}
stage('Maven build') {
mavenGoal = 'deploy'
sh "${mvnHome}/bin/mvn clean ${mavenGoal} -Dbuild.number=jenkins-${env.BUILD_NUMBER}-${GIT_BRANCH}-${GIT_COMMIT}"
}
stage('Archive artifacts') {
archiveArtifacts artifacts: '**/target/*.jar, **/target/*.war', fingerprint: true, onlyIfSuccessful: true
}
stage('Sonar analysis') {
withSonarQubeEnv('sonar_6.1') {
sh "${mvnHome}/bin/mvn sonar:sonar -Dbuild.number=jenkins-${env.BUILD_NUMBER}-${GIT_BRANCH}-${GIT_COMMIT} -Dsonar.branch=${GIT_BRANCH}"
}
}
}