-
Notifications
You must be signed in to change notification settings - Fork 1
/
Jenkinsfile
73 lines (63 loc) · 1.86 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
def githubStatusCheck(String state, String description){
def commitHash = checkout(scm).GIT_COMMIT
githubNotify account: 'interacto',sha: "${commitHash}", status: state, description: description, credentialsId: 'github-token', repo: 'interacto-ts'
}
pipeline {
agent any
stages {
stage('Github Pending') {
steps{
script{
githubStatusCheck("PENDING", "Building the project");
}
}
}
stage('Node config') {
steps {
nodejs(nodeJSInstallationName: 'node16') {
sh 'npm -v'
}
}
}
stage ('Git') {
steps {
git branch: 'master', url: "https://github.com/interacto/interacto-ts"
}
}
stage ('NPM install') {
steps {
nodejs(nodeJSInstallationName: 'node16') {
sh '''
npm install
'''
}
}
}
stage ('NPM build') {
steps {
nodejs(nodeJSInstallationName: 'node16') {
sh '''
npm run package
'''
}
step([
$class: 'CloverPublisher',
cloverReportDir: 'reports',
cloverReportFileName: 'clover.xml',
healthyTarget: [methodCoverage: 100, conditionalCoverage: 100, statementCoverage: 100],
])
}
}
}
post{
success {
githubStatusCheck("SUCCESS", "Build success");
}
failure {
githubStatusCheck("FAILURE", "Build failure");
}
unstable {
githubStatusCheck("FAILURE", "Build failure");
}
}
}