Files
tankwar_proj/server/deploy.sh
T
2026-05-02 13:50:52 +08:00

46 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Tank War Server K8s部署脚本
set -e
# 配置变量
IMAGE_NAME="tankwar-server"
K8S_NAMESPACE="tankwar"
K8S_CONFIG="k8s-deployment.yaml"
# 检查Docker是否运行
if ! docker info > /dev/null 2>&1; then
echo "错误: Docker守护进程未运行"
exit 1
fi
# 构建Docker镜像
echo "构建Docker镜像..."
docker build -t $IMAGE_NAME:latest .
# 登录到目标K8s集群(假设已配置kubectl)
echo "检查Kubernetes集群连接..."
kubectl cluster-info
# 创建命名空间(如果不存在)
echo "创建命名空间..."
kubectl create namespace $K8S_NAMESPACE --dry-run=client -o yaml | kubectl apply -f -
# 部署应用到K8s
echo "部署应用到Kubernetes..."
kubectl apply -f $K8S_CONFIG -n $K8S_NAMESPACE
# 等待部署完成
echo "等待部署完成..."
kubectl rollout status deployment/tankwar-server -n $K8S_NAMESPACE --timeout=300s
# 获取服务信息
echo "获取服务信息..."
kubectl get svc tankwar-server-service -n $K8S_NAMESPACE
echo "部署完成!"
echo "使用以下命令查看Pod状态:"
echo "kubectl get pods -n $K8S_NAMESPACE"
echo ""
echo "使用以下命令查看日志:"
echo "kubectl logs -l app=tankwar-server -n $K8S_NAMESPACE"