-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJenkinsfile
83 lines (82 loc) · 3.08 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
def mazenetTest
def mazenetRelease
pipeline {
agent any
stages {
stage('test: build image') {
steps {
git branch: 'master', url: 'https://github.com/fresh4less/mazenet'
script {
mazenetTest = docker.build("mazenet-test:${env.BUILD_ID}", '--network=host --target builder .')
}
}
}
stage('test: run') {
steps {
script {
mazenetTest.inside('--network=host') {
withEnv([
/* Override the npm cache directory to avoid: EACCES: permission denied, mkdir '/.npm' */
'npm_config_cache=npm-cache',
/* set home to our current directory because other bower
* nonsense breaks with HOME=/, e.g.:
* EACCES: permission denied, mkdir '/.config'
*/
'HOME=.',
]) {
sh 'npm install'
dir('./server') {
sh 'npm install'
sh 'npm install jest@23'
sh 'npm install jest-junit'
sh 'npm test -- --ci --testResultsProcessor="jest-junit" --forceExit --detectOpenHandles'
}
}
}
}
}
post {
always {
junit 'server/junit.xml'
archiveArtifacts 'server/coverage/**/*'
}
}
}
stage('docs: build') {
steps {
script {
mazenetTest.inside('--network=host') {
withEnv([
/* Override the npm cache directory to avoid: EACCES: permission denied, mkdir '/.npm' */
'npm_config_cache=npm-cache',
/* set home to our current directory because other bower
* nonsense breaks with HOME=/, e.g.:
* EACCES: permission denied, mkdir '/.config'
*/
'HOME=.',
]) {
dir('./server') {
sh 'npm install'
sh 'npm install gulp-cli'
sh 'node ./node_modules/gulp-cli/bin/gulp.js docs'
}
}
}
}
}
post {
always {
archiveArtifacts 'server/docs/**/*'
}
}
}
stage('release: build') {
steps {
git branch: 'master', url: 'https://github.com/fresh4less/mazenet'
script {
mazenetRelease = docker.build("mazenet:${env.BUILD_ID}", '--network=host .')
}
}
}
}
}