Files
MKM/Makefile
Jp e6acea80a0 chore(deploy): prepend sudo to kubectl commands in Makefile
Ensure kubectl commands have necessary permissions when generating ConfigMaps during deployment.
2026-02-26 11:29:03 +08:00

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 /tmp/server_deploy.yaml"
@rm /tmp/server_deploy.yaml
stop:
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
.PHONY: build deploy deploy-server stop