-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
80 lines (60 loc) · 2.01 KB
/
Copy pathMakefile
File metadata and controls
80 lines (60 loc) · 2.01 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
-include .env
APP := tater
VERSION := $(shell grep '^version' pyproject.toml | awk -F'"' '{print $$2}')
IMAGE := $(REGISTRY)/$(APP):$(VERSION)
.PHONY: help build run stop push release pod-up pod-down pod-bounce pod-logs pod-logs-follow \
az-login az-deploy az-logs az-logs-follow
help:
@echo "build Build the Docker image"
@echo "run Run the container locally on :8050"
@echo "stop Stop the running container"
@echo "push Push the image to the registry"
@echo "release Build and push (build + push)"
@echo "pod-up Deploy to Kubernetes via Helm (K8S_NAMESPACE=$(K8S_NAMESPACE))"
@echo "pod-down Uninstall Helm release"
@echo "pod-bounce Uninstall then reinstall Helm release"
@echo "pod-logs Print pod logs"
@echo "pod-logs-follow Stream pod logs"
@echo "az-login Log in to Azure"
@echo "az-deploy Update Container App image to current VERSION"
@echo "az-logs Print Container App logs"
@echo "az-logs-follow Stream Container App logs"
# Docker
build:
docker build -t $(IMAGE) .
run:
docker run --rm --name $(APP) -p 8050:8050 $(IMAGE)
stop:
docker stop $(APP)
push:
docker push $(IMAGE)
release: build push
# Azure Container Apps
az-login:
az login
az-deploy:
az containerapp update \
--name $(AZ_APP_NAME) \
--resource-group $(AZ_RESOURCE_GROUP) \
--image $(IMAGE)
az-logs:
az containerapp logs show \
--name $(AZ_APP_NAME) \
--resource-group $(AZ_RESOURCE_GROUP) \
--tail 50
az-logs-follow:
az containerapp logs show \
--name $(AZ_APP_NAME) \
--resource-group $(AZ_RESOURCE_GROUP) \
--follow
# Kubernetes / Helm
pod-up:
helm upgrade --install $(APP) ./k8s/chart -n $(K8S_NAMESPACE) \
--set appVersion=$(VERSION)
pod-down:
helm uninstall $(APP) -n $(K8S_NAMESPACE)
pod-bounce: pod-down pod-up
pod-logs:
kubectl logs -n $(K8S_NAMESPACE) deploy/$(APP)
pod-logs-follow:
kubectl logs -n $(K8S_NAMESPACE) deploy/$(APP) -f