the middle of the idiots
This commit is contained in:
70
qwen/hack/Makefile
Normal file
70
qwen/hack/Makefile
Normal file
@@ -0,0 +1,70 @@
|
||||
# Makefile for MerchantsOfHope.org deployment
|
||||
|
||||
.PHONY: help build docker-build docker-push deploy undeploy helm-install helm-uninstall k8s-apply k8s-delete test
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@echo "Usage: make [target]"
|
||||
@echo ""
|
||||
@echo "Targets:"
|
||||
@echo " help Show this help message"
|
||||
@echo " build Build the application"
|
||||
@echo " docker-build Build the Docker image"
|
||||
@echo " docker-push Push the Docker image to registry"
|
||||
@echo " deploy Deploy to Kubernetes using manifests"
|
||||
@echo " undeploy Remove deployment from Kubernetes"
|
||||
@echo " helm-install Install using Helm"
|
||||
@echo " helm-uninstall Uninstall using Helm"
|
||||
@echo " k8s-apply Apply Kubernetes manifests"
|
||||
@echo " k8s-delete Delete Kubernetes resources"
|
||||
@echo " test Run tests"
|
||||
|
||||
# Build the application
|
||||
build:
|
||||
composer install --no-dev --optimize-autoloader
|
||||
|
||||
# Build Docker image
|
||||
docker-build:
|
||||
docker build -t qwen-hack-moh:latest .
|
||||
|
||||
# Push Docker image to registry
|
||||
docker-push:
|
||||
docker tag qwen-hack-moh:latest qwen-hack-moh:$(shell git rev-parse --short HEAD)
|
||||
docker push qwen-hack-moh:$(shell git rev-parse --short HEAD)
|
||||
docker push qwen-hack-moh:latest
|
||||
|
||||
# Deploy using kubectl
|
||||
deploy: k8s-apply
|
||||
|
||||
# Remove deployment
|
||||
undeploy: k8s-delete
|
||||
|
||||
# Install using Helm
|
||||
helm-install:
|
||||
helm install moh-app ./helm/moh-app --namespace merchantsofhope --create-namespace
|
||||
|
||||
# Uninstall using Helm
|
||||
helm-uninstall:
|
||||
helm uninstall moh-app --namespace merchantsofhope
|
||||
|
||||
# Apply Kubernetes manifests
|
||||
k8s-apply:
|
||||
kubectl apply -f k8s/namespace.yaml
|
||||
kubectl apply -f k8s/configmap.yaml
|
||||
kubectl apply -f k8s/secrets.yaml
|
||||
kubectl apply -f k8s/service.yaml
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
kubectl apply -f k8s/ingress.yaml
|
||||
|
||||
# Delete Kubernetes resources
|
||||
k8s-delete:
|
||||
kubectl delete -f k8s/ingress.yaml
|
||||
kubectl delete -f k8s/deployment.yaml
|
||||
kubectl delete -f k8s/service.yaml
|
||||
kubectl delete -f k8s/secrets.yaml
|
||||
kubectl delete -f k8s/configmap.yaml
|
||||
kubectl delete -f k8s/namespace.yaml
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
vendor/bin/phpunit
|
||||
Reference in New Issue
Block a user