-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy_inline_go.sh
More file actions
executable file
·38 lines (29 loc) · 1.59 KB
/
Copy pathdeploy_inline_go.sh
File metadata and controls
executable file
·38 lines (29 loc) · 1.59 KB
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
#!/bin/bash
echo "1. Building Payment Gateway (Golang + CGO XGBoost) image..."
eval $(minikube docker-env)
echo "-> Copying fraud_model.json for Docker build..."
cp model_setup/fraud_model.json payment_gateway_go/
# docker build -t allocknguyen/payment-gateway-go:v1 -f payment_gateway_go/Dockerfile .
echo "1.5 (Bỏ qua) Building Transaction Saver image... (Dùng ảnh trên Docker Hub)"
# docker build -t allocknguyen/transaction-saver:v1 -f infra/kafka/transaction-saver/Dockerfile infra/kafka/transaction-saver/
echo "2. Deploying Golang Gateway and Transaction Saver to Kubernetes..."
kubectl apply -f infra/gateway/deployment-go.yaml
kubectl apply -f infra/kafka/transaction-saver/deployment.yaml
kubectl rollout restart deployment payment-gateway -n stream
kubectl rollout restart deployment transaction-saver -n stream
echo "3. Updating ConfigMap for Data Generator..."
kubectl delete configmap generator-script -n stream --ignore-not-found
kubectl create configmap generator-script \
--from-file=data-generator.py=infra/data-generator/data-generator.py \
-n stream
echo "4. Stopping old Data Generator..."
kubectl delete -f infra/data-generator/generator-pod.yaml --ignore-not-found
echo "5. Waiting for Payment Gateway (Golang) to be ready..."
# First wait for the old pods to terminate if they were python
kubectl wait --for=condition=Ready pod -l app=payment-gateway -n stream --timeout=300s
echo "6. Starting Inline Benchmark (Port-forwarding)..."
kubectl port-forward svc/payment-gateway-service 8000:8000 -n stream > /dev/null 2>&1 &
PF_PID=$!
sleep 5
python run_inline_benchmark.py
kill $PF_PID