-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
66 lines (63 loc) · 1.95 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
pipeline {
agent any
stages {
stage("test"){
steps{
bat './gradlew test'
junit 'build/test-results/test/*.xml'
cucumber buildStatus: 'UNSTABLE',
reportTitle: 'My report',
fileIncludePattern: 'target/report.json',
trendsLimit: 10
}
}
stage('Test Reporting') {
steps {
cucumber 'target/*.json'
}
}
stage("Code Analysis"){
steps{
withSonarQubeEnv('sonar') {
bat "./gradlew sonar"
}
}
}
stage("Code Quality") {
steps {
waitForQualityGate abortPipeline: true
}
}
stage("Build") {
steps {
bat './gradlew build'
bat './gradlew javadoc'
archiveArtifacts 'build/libs/*.jar'
archiveArtifacts 'build/docs/'
}
}
stage('Deploy') {
steps {
bat './gradlew publish'
}
}
stage('Notify') {
steps {
echo "Notification..."
notifyEvents message: 'Build is created with success', token: 'whwnvf3djfhujrmgn4v_8royb_7dgor7'
}
post {
success {
mail to: "[email protected]",
subject: "Build Succeeded",
body: "This is an email that informs that the new Build is deployed with success!"
}
failure {
mail to: "[email protected]",
subject: "Build failed",
body: "This is an email that informs that the new Build is deployed with failure!"
}
}
}
}
}