feat(Makefile): add remote server deployment target
Add deploy-server target to deploy application to a remote Kubernetes cluster. Includes server configuration variables and uses scp/ssh for file transfer and kubectl commands for applying configuration and deployment.
This commit is contained in:
19
Makefile
19
Makefile
@@ -3,6 +3,11 @@ IMG := mkm-admin
|
|||||||
build:
|
build:
|
||||||
podman build -t $(IMG) .
|
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
|
deploy: build
|
||||||
@if [ ! -f .env ]; then cp .env.example .env; fi
|
@if [ ! -f .env ]; then cp .env.example .env; fi
|
||||||
@echo "Cleaning up existing deployment if any..."
|
@echo "Cleaning up existing deployment if any..."
|
||||||
@@ -12,10 +17,20 @@ deploy: build
|
|||||||
@echo "---" >> k8s/merged_deployment.yaml
|
@echo "---" >> k8s/merged_deployment.yaml
|
||||||
@cat k8s/deployment.yaml >> k8s/merged_deployment.yaml
|
@cat k8s/deployment.yaml >> k8s/merged_deployment.yaml
|
||||||
@echo "Deploying via podman kube play..."
|
@echo "Deploying via podman kube play..."
|
||||||
podman kube play k8s/merged_deployment.yaml # Remove the pipe to stderr to see full output
|
podman kube play k8s/merged_deployment.yaml
|
||||||
@rm k8s/merged_deployment.yaml
|
@rm k8s/merged_deployment.yaml
|
||||||
|
|
||||||
|
deploy-server:
|
||||||
|
@echo "Deploying to remote server $(SERVER_IP)..."
|
||||||
|
@if [ ! -f .env ]; then cp .env.example .env; fi
|
||||||
|
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:
|
stop:
|
||||||
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
||||||
|
|
||||||
.PHONY: build deploy stop
|
.PHONY: build deploy deploy-server stop
|
||||||
|
|||||||
Reference in New Issue
Block a user