-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathJenkinsfile
More file actions
120 lines (109 loc) · 2.98 KB
/
Jenkinsfile
File metadata and controls
120 lines (109 loc) · 2.98 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
pipeline
{
agent
{
kubernetes
{
containerTemplate
{
name 'kiso-build-env'
image 'eclipse/kiso-build-env:v0.1.1'
alwaysPullImage 'true'
ttyEnabled true
resourceRequestCpu '2'
resourceLimitCpu '2'
resourceRequestMemory '8Gi'
resourceLimitMemory '8Gi'
}
}
}
stages
{
stage('Setup Env')
{
steps
{
// Clean workspace
cleanWs()
checkout scm
}
}
stage('Run unittests')
{
steps
{
sh """
npm install
xvfb-run -a npm run test
"""
}
}
stage('build plugin')
{
steps
{
sh """
npm install
vsce package --baseContentUrl https://github.com/eclipse/kiso-testing-vscode.git
"""
}
}
stage('publish')
{
when
{
buildingTag()
}
steps
{
withCredentials([string(
credentialsId: 'vscode-marketplace-token',
variable: 'token')]) {
sh """
export VSCE_PAT=${token}
vsce publish --baseContentUrl https://github.com/eclipse/kiso-testing-vscode.git
"""
}
}
}
} // stages
post // Called at very end of the script to notify developer and github about the result of the build
{
// always
// {
// // pass
// }
success
{
cleanWs()
}
unstable
{
notifyFailed()
}
failure
{
notifyFailed()
}
aborted
{
notifyAbort()
}
}
} // pipeline
def notifyFailed()
{
emailext (subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is failing",
body: "Oups, something went wrong with ${env.BUILD_URL}... We are looking forward for your fix!",
recipientProviders: [[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']])
}
def notifyAbort()
{
emailext (subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) was aborted",
body: "Oups, something went wrong with ${env.BUILD_URL}... We are looking forward for your fix!",
recipientProviders: [[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']])
}