forked from fabric8-launcher/launchpad-missioncontrol
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
87 lines (72 loc) · 3.6 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/groovy
node{
ws{
stage 'checkout code'
checkout scm
stage 'build and unit test'
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'distortion-gh-test-user-pw',
usernameVariable: 'GITHUB_USERNAME', passwordVariable: 'GITHUB_PASSWORD']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-access-token', variable: 'GITHUB_TOKEN']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-client-id', variable: 'KONTINUITY_CATAPULT_GITHUB_APP_CLIENT_ID']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-client-secret', variable: 'KONTINUITY_CATAPULT_GITHUB_APP_CLIENT_SECRET']]) {
kubernetes.pod('buildtestpod').withImage('maven')
.withPrivileged(true)
.withSecret('jenkins-maven-settings','/root/.m2')
.inside {
try {
sh 'mvn -Dmaven.test.failure.ignore clean install'
step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}
catch(e) {
currentBuild.result = 'FAILURE'
throw e
}
finally {
processStageResult()
}
}
}
}
}
}
stage 'integration test'
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'distortion-gh-test-user-pw',
usernameVariable: 'GITHUB_USERNAME', passwordVariable: 'GITHUB_PASSWORD']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-access-token', variable: 'GITHUB_TOKEN']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-client-id', variable: 'KONTINUITY_CATAPULT_GITHUB_APP_CLIENT_ID']]) {
withCredentials([[$class: 'StringBinding',
credentialsId: 'distortion-gh-test-client-secret', variable: 'KONTINUITY_CATAPULT_GITHUB_APP_CLIENT_SECRET']]) {
kubernetes.pod('itpod').withImage('maven')
.withPrivileged(true)
.withSecret('jenkins-maven-settings','/root/.m2')
.withEnvVar('KONTINUITY_CATAPULT_OPENSHIFT_URL',"${OPENSHIFT_MASTER_URL}")
.inside {
try {
sh "mvn -Dmaven.test.failure.ignore clean verify -Pit"
step([$class: 'JUnitResultArchiver', testResults: '**/target/failsafe-reports/*.xml'])
}
catch(e) {
currentBuild.result = 'FAILURE'
throw e
}
finally {
processStageResult()
}
}
}
}
}
}
}
}
def processStageResult() {
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "${EMAIL}", sendToIndividuals: false])
if (currentBuild.result != null) {
sh "exit 0"
}
}