-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild
executable file
·65 lines (57 loc) · 1.67 KB
/
build
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
#!/bin/bash
service=$1
eval $(minikube docker-env)
deleteOldImages() {
docker rmi $(docker images "$service" --format "{{.ID}}") -f
}
newVersion() {
currentVersion=$(docker images "$service" --format "{{.Tag}}" | sort -rn | head -n 1)
if [ "$currentVersion" -gt "200" ] || ! [[ "$currentVersion" =~ ^[0-9]+$ ]]; then
currentVersion=1
else
currentVersion="$((currentVersion + 1))"
fi
return "$currentVersion"
}
case $service in
message-dashboard)
deleteOldImages
newVersion
version=$?
docker build \
-t message-dashboard:latest \
-t message-dashboard:$version \
-f ../message-dashboard-demo/Dockerfile \
../message-dashboard-demo/
kubectl apply -f ./message-dashboard/
kubectl set image deployments/message-dashboard-deployment message-dashboard=message-dashboard:$version
;;
message-service)
deleteOldImages
newVersion
version=$?
docker build \
-t message-service:latest \
-t message-service:$version \
-f ../message-service-demo/docker/Dockerfile \
../message-service-demo/
kubectl apply -f ./message-service/
kubectl set image deployments/message-service-deployment message-service=message-service:$version
kubectl set image deployments/message-service-daemon-deployment message-service-daemon=message-service:$version
;;
trigger-service)
deleteOldImages
newVersion
version=$?
docker build \
-t trigger-service:latest \
-t trigger-service:$version \
-f ../trigger-service-demo/Dockerfile \
../trigger-service-demo/
kubectl apply -f ./trigger-service/
kubectl set image deployments/trigger-service-deployment trigger-service=trigger-service:$version
;;
*)
echo "Service not exist"
;;
esac