The .env file is now expected to be present before running deploy commands. This simplifies the Makefile by removing conditional copy logic that was causing confusion about environment setup.
35 lines
1.3 KiB
Makefile
35 lines
1.3 KiB
Makefile
IMG := mkm-admin
|
|
|
|
build:
|
|
podman build -t $(IMG) .
|
|
|
|
# Server configuration (Change these to your actual server details)
|
|
SERVER_USER := user
|
|
SERVER_IP := 192.168.100.105
|
|
SERVER_PATH := /var/www/mkm-admin
|
|
|
|
deploy: build
|
|
@echo "Cleaning up existing deployment if any..."
|
|
-podman kube down k8s/deployment.yaml
|
|
@echo "Generating merged deployment with ConfigMap..."
|
|
kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > k8s/merged_deployment.yaml
|
|
@echo "---" >> k8s/merged_deployment.yaml
|
|
@cat k8s/deployment.yaml >> k8s/merged_deployment.yaml
|
|
@echo "Deploying via podman kube play..."
|
|
podman kube play k8s/merged_deployment.yaml
|
|
@rm k8s/merged_deployment.yaml
|
|
|
|
deploy-server:
|
|
@echo "Deploying to remote server $(SERVER_IP)..."
|
|
ssh $(SERVER_USER)@$(SERVER_IP) "mkdir -p $(SERVER_PATH)/k8s"
|
|
scp .env $(SERVER_USER)@$(SERVER_IP):$(SERVER_PATH)/.env
|
|
scp k8s/deployment.yaml $(SERVER_USER)@$(SERVER_IP):$(SERVER_PATH)/k8s/deployment.yaml
|
|
ssh $(SERVER_USER)@$(SERVER_IP) "cd $(SERVER_PATH) && \
|
|
kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml | kubectl apply -f - && \
|
|
kubectl apply -f k8s/deployment.yaml"
|
|
|
|
stop:
|
|
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
|
|
|
.PHONY: build deploy deploy-server stop
|