-
Notifications
You must be signed in to change notification settings - Fork 0
/
jenkinsbuild.sh
85 lines (78 loc) · 1.52 KB
/
jenkinsbuild.sh
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
#!/bin/bash
# This script is just a wrapper for jenkins
release_staging () {
case $1 in
kafka-server-setup)
ansible-playbook -i ./staging/inventory kafka-server-setup.yml;
;;
kafka-server-restart)
ansible-playbook -i ./staging/inventory kafka-server-restart.yml;
;;
zookeeper-setup)
ansible-playbook -i ./staging/inventory zookeeper-setup.yml;
;;
zookeeper-restart)
ansible-playbook -i ./staging/inventory zookeeper-restart.yml;
;;
*)
echo "Invalid build type"
return 1;
;;
esac
BUILD_DONE=1;
}
release_production () {
case $1 in
kafka-server-setup)
ansible-playbook -i ./production/inventory kafka-server-setup.yml;
;;
kafka-server-restart)
ansible-playbook -i ./production/inventory kafka-server-restart.yml;
;;
zookeeper-setup)
ansible-playbook -i ./production/inventory zookeeper-setup.yml;
;;
zookeeper-restart)
ansible-playbook -i ./production/inventory zookeeper-restart.yml;
;;
*)
echo "Invalid build type"
return 1;
;;
esac
BUILD_DONE=1;
}
do_build () {
case $1 in
staging)
release_staging $2
;;
production)
release_production $2
;;
*)
echo "Invalid release type"
return 1;
;;
esac
}
BUILD_DONE=0;
while getopts ":r:t:" opt; do
case $opt in
r)
RELEASE_TYPE=$OPTARG;
;;
t)
BUILD_TYPE=$OPTARG;
;;
*)
exit
;;
esac
done
echo "BUILD TYPE: $BUILD_TYPE";
echo "RELEASE TYPE: $RELEASE_TYPE";
do_build $RELEASE_TYPE $BUILD_TYPE
if [ $BUILD_DONE -eq 0 ]; then
echo BUILD FAIL !!!;
fi