academia/deploy/k3s/deploy.sh

28 lines
869 B
Bash
Executable File

#!/bin/bash
# Quick deploy to k3s
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
echo "=== Building Docker images ==="
cd "$PROJECT_ROOT"
# Build API
docker build -t student-enrollment-api:latest -f deploy/docker/Dockerfile.api .
# Build Frontend
docker build -t student-enrollment-frontend:latest -f deploy/docker/Dockerfile.frontend .
echo "=== Deploying to k3s ==="
kubectl apply -f "$SCRIPT_DIR/all-in-one.yaml"
echo "=== Waiting for deployments ==="
kubectl -n student-enrollment rollout status deployment/mssql --timeout=120s
kubectl -n student-enrollment rollout status deployment/api --timeout=120s
kubectl -n student-enrollment rollout status deployment/frontend --timeout=60s
echo "=== Deployment complete ==="
echo "Add to /etc/hosts: <k3s-ip> students.local"
kubectl -n student-enrollment get pods