-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (47 loc) · 1.83 KB
/
Copy pathMakefile
File metadata and controls
61 lines (47 loc) · 1.83 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
VERSION?=$(shell cat ../VERSION 2>/dev/null || echo "1.0.6")
REGISTRY?=gcr.io/speedscale-demos/java-server:v${VERSION}
NAMESPACE?=default
.PHONY: build
build:
@echo "Building Java server"
@cd server && ./mvnw clean package -DskipTests
.PHONY: local
local:
@echo "Running java locally"
@cd server && ./mvnw spring-boot:run ${SPRING_BOOT_RUN_OPTS}
.PHONY: local-capture
local-capture: export SPRING_BOOT_RUN_OPTS=-Dspring-boot.run.jvmArguments="-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=4140 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=4140 -Djavax.net.ssl.trustStore=${SPEEDSCALE_HOME}/certs/cacerts.jks -Djavax.net.ssl.trustStorePassword=changeit"
local-capture: local
.PHONY: local-replay
local-replay: local-capture
.PHONY: compose
compose:
@echo "Running app in docker compose"
@docker compose up --build
.PHONY: compose-capture
compose-capture: export JAVA_OPTS=-Dhttp.proxyHost=host.docker.internal -Dhttp.proxyPort=4140 -Dhttps.proxyHost=host.docker.internal -Dhttps.proxyPort=4140 -Djavax.net.ssl.trustStore=/etc/ssl/speedscale/cacerts.jks -Djavax.net.ssl.trustStorePassword=changeit
compose-capture: compose
.PHONY: compose-replay
compose-replay: compose-capture
.PHONY: kube
kube:
@echo "Deploying app to namespace: ${NAMESPACE} in Kubernetes"
@kubectl -n ${NAMESPACE} apply -k ./
.PHONY: kube-clean
kube-clean:
@echo "Deleting app from kubernetes"
@kubectl -n ${NAMESPACE} delete -k ./
.PHONY: kube-capture
kube-capture: kube
@kubectl -n ${NAMESPACE} patch deployment/java-server --patch-file patch.yaml
.PHONY: client
client:
@echo "Running client"
@./client/client
.PHONY: client-capture
client-capture: export SERVER_URL=localhost:4143
client-capture: client
.PHONY: docker-multi
docker-multi:
@echo "Building and pushing multi-arch Docker image"
@docker buildx build --push --platform linux/amd64,linux/arm64 --tag ${REGISTRY} .