75 lines
1.7 KiB
Bash
Executable File
75 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Tank War Server部署测试脚本
|
|
set -e
|
|
|
|
echo "=== Tank War Server部署测试 ==="
|
|
echo ""
|
|
|
|
# 检查必需文件是否存在
|
|
echo "1. 检查必需文件..."
|
|
files=("Dockerfile" "k8s-deployment.yaml" "index.js" "package.json" "deploy.sh")
|
|
for file in "${files[@]}"; do
|
|
if [ -f "$file" ]; then
|
|
echo "✓ $file 存在"
|
|
else
|
|
echo "✗ $file 缺失"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "2. 检查Dockerfile语法..."
|
|
if grep -q "FROM node" Dockerfile && grep -q "EXPOSE 3000" Dockerfile; then
|
|
echo "✓ Dockerfile语法正确"
|
|
else
|
|
echo "✗ Dockerfile语法错误"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "3. 检查K8s配置文件..."
|
|
# 检查基本的YAML语法
|
|
if python3 -c "import yaml; yaml.safe_load(open('k8s-deployment.yaml'))" > /dev/null 2>&1; then
|
|
echo "✓ K8s配置文件语法正确"
|
|
else
|
|
echo "⚠ 无法验证K8s配置,需要连接到Kubernetes集群"
|
|
echo " 运行 'kubectl cluster-info' 检查连接状态"
|
|
fi
|
|
|
|
echo ""
|
|
echo "4. 检查Node.js依赖..."
|
|
if node -e "require('./package.json')" > /dev/null 2>&1; then
|
|
echo "✓ package.json语法正确"
|
|
else
|
|
echo "✗ package.json语法错误"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "5. 检查服务器代码..."
|
|
if node -c index.js > /dev/null 2>&1; then
|
|
echo "✓ index.js语法正确"
|
|
else
|
|
echo "✗ index.js语法错误"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "6. 检查部署脚本权限..."
|
|
chmod +x deploy.sh
|
|
if [ -x "deploy.sh" ]; then
|
|
echo "✓ 部署脚本可执行"
|
|
else
|
|
echo "✗ 部署脚本权限错误"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== 所有检查通过! ==="
|
|
echo ""
|
|
echo "下一步:"
|
|
echo "1. 确保Docker守护进程正在运行"
|
|
echo "2. 确保kubectl已配置正确的集群上下文"
|
|
echo "3. 运行 ./deploy.sh 开始部署"
|
|
echo "" |