forked from radiatus-ai/cloud-canvas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
75 lines (62 loc) · 3.4 KB
/
Makefile
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
auth:
gcloud auth login && gcloud auth application-default login
gen-clients:
cd api && make gen-openapi-spec
openapi-generator-cli generate -i api/data/openapi-spec.yaml -g javascript -o ./ui/canvas-client
./cleanup-gen-ui-client.sh
rm -rf ./ui/canvas-client/dist
cd ui/canvas-client && npm run build
cd ui && npm install
echo "UI client generated and built"
build:
docker compose build api-deploy ui-deploy
# wbeebe: deprecated, but keeping for notes. will remove later
# tag:
# docker tag cloud-canvas-api-deploy:latest us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/api:latest
# docker tag cloud-canvas-ui-deploy:latest us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/ui:latest
# # docker tag cloud-canvas-provisioner-deploy:latest us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/provisioner:latest
# upload: build tag
# docker push us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/api:latest
# docker push us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/ui:latest
# # docker push us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/provisioner:latest
# deploy: build tag upload
# gcloud run deploy ui \
# --image=us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/ui:latest \
# --execution-environment=gen2 \
# --region=us-central1 \
# --project=rad-dev-canvas-kwm6 \
# && gcloud run services update-traffic ui --to-latest --region us-central1 --project=rad-dev-canvas-kwm6
# # it's incredible how easy it was to set this up.
# # should have done this forever ago.
# build-cloudbuild:
# gcloud builds submit --project=rad-containers-hmed --config=cloudbuild.yaml .
# deploy-cloudbuild: build-cloudbuild
# kubectl delete pods --selector=app=api
# gcloud run deploy ui \
# --image=us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/ui:latest \
# --execution-environment=gen2 \
# --region=us-central1 \
# --project=rad-dev-canvas-kwm6 \
# && gcloud run services update-traffic ui --to-latest --region us-central1 --project=rad-dev-canvas-kwm6
build-ui-cloudbuild-kaniko:
# temp hack until npm creds are added to ci
rm -rf ui/react-json-schema-form
rsync -av --exclude-from='ui/exclude-list.txt' ../react-json-schema-form/ ./ui/react-json-schema-form/
cd ui/react-json-schema-form && npm run build
$(eval export SHORT_SHA=$(shell openssl rand -hex 3))
gcloud builds submit --project=rad-containers-hmed --config=cloudbuild-ui-kaniko.yaml --substitutions=SHORT_SHA=$(SHORT_SHA) .
deploy-ui-cloudbuild-kaniko: build-ui-cloudbuild-kaniko
gcloud run deploy ui \
--image=us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/ui:$(SHORT_SHA) \
--execution-environment=gen2 \
--region=us-central1 \
--project=rad-dev-canvas-kwm6 \
&& gcloud run services update-traffic ui --to-latest --region us-central1 --project=rad-dev-canvas-kwm6
build-api-cloudbuild-kaniko:
# $(eval export SHORT_SHA=$(shell git rev-parse --short HEAD))
$(eval export SHORT_SHA=$(shell openssl rand -hex 3))
gcloud builds submit --project=rad-containers-hmed --config=cloudbuild-api-kaniko.yaml --substitutions=SHORT_SHA=$(SHORT_SHA) .
deploy-api-cloudbuild-kaniko: build-api-cloudbuild-kaniko
gcloud container clusters get-credentials cluster-0 --region us-central1 --project rad-dev-canvas-kwm6
kubectl set image deployment/api api=us-central1-docker.pkg.dev/rad-containers-hmed/cloud-canvas/api:$(SHORT_SHA)
kubectl rollout status deployment/api