The -f flag prevents errors if the files do not exist, ensuring the cleanup step is robust and does not fail the deployment process.
37 lines
1.4 KiB
Makefile
37 lines
1.4 KiB
Makefile
IMG := mkm-admin
|
|
|
|
build:
|
|
podman build -t $(IMG) .
|
|
|
|
# Server configuration (Change these to your actual server details)
|
|
SERVER_USER := ubuntu
|
|
SERVER_IP := 192.168.100.200
|
|
SERVER_PATH := /var/www/MKM
|
|
|
|
deploy: build
|
|
@echo "Cleaning up existing deployment if any..."
|
|
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
|
@echo "Generating merged deployment with ConfigMap..."
|
|
@sudo kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > /tmp/merged_deployment.yaml
|
|
@echo "---" >> /tmp/merged_deployment.yaml
|
|
@cat k8s/deployment.yaml >> /tmp/merged_deployment.yaml
|
|
@echo "Deploying via podman kube play..."
|
|
podman kube play /tmp/merged_deployment.yaml
|
|
@rm /tmp/merged_deployment.yaml
|
|
|
|
deploy-server:
|
|
@echo "Deploying to remote server $(SERVER_IP)..."
|
|
@# Generate temporary merged YAML for server in /tmp to avoid WSL permissions
|
|
@sudo kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > /tmp/server_deploy.yaml
|
|
@echo "---" >> /tmp/server_deploy.yaml
|
|
@cat k8s/deployment.yaml >> /tmp/server_deploy.yaml
|
|
@# Single SCP/SSH call to reduce password prompts
|
|
scp /tmp/server_deploy.yaml $(SERVER_USER)@$(SERVER_IP):/tmp/server_deploy.yaml
|
|
ssh $(SERVER_USER)@$(SERVER_IP) "sudo kubectl apply -f /tmp/server_deploy.yaml && rm -f /tmp/server_deploy.yaml"
|
|
@rm -f /tmp/server_deploy.yaml
|
|
|
|
stop:
|
|
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
|
|
|
.PHONY: build deploy deploy-server stop
|