forked from Umar3331/jenkins-tutorials
-
Notifications
You must be signed in to change notification settings - Fork 1
/
JENKINSFILE8
72 lines (71 loc) · 1.92 KB
/
JENKINSFILE8
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
pipeline {
agent {
label 'ubuntuNode1'
}
stages {
stage('pre -build') {
steps {
sh 'echo Pre-build'
script {
try{
sh 'docker ps -q --filter "name=hello" | grep -q . && docker stop hello && docker rm -fv hello'
}catch(Exception e){
echo "No container found!"
}
}
}
}
stage('build and Deploy') {
agent {
label 'ubuntuNode1'
}
steps {
script {
try{
docker image rm -f kamal
}catch(Exception e){
echo "Error while deleting image"
}
sh '''
docker container prune -f
docker build -t kamal ci/
docker run -td --name hello -p 80:80 kamal
'''
}
}
}
stage('Unit tests') {
agent {
label 'ubuntuNode1'
}
steps {
sh 'echo Running unit tests'
}
}
stage('Regression tests') {
steps {
parallel(
chrome : {
sh 'echo Running E2E tests on chrome'
},
firefox : {
sh 'echo Running E2E tests on chrome'
},
safari : {
sh 'echo Running E2E tests on chrome'
}
)
}
}
stage('Release to prod') {
steps {
sh 'echo Releasing to prod'
}
}
}
post {
always {
echo 'Cleanup after everything!'
}
}
}