56 lines
1.2 KiB
Bash
56 lines
1.2 KiB
Bash
#!/bin/bash
|
||
# 生产环境启动脚本
|
||
# 用途:启动生产服务
|
||
|
||
set -e
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||
|
||
cd "$PROJECT_ROOT"
|
||
|
||
echo "=== 启动生产服务 ==="
|
||
echo ""
|
||
|
||
# 检查 .env.prod 文件
|
||
if [ ! -f ".env.prod" ]; then
|
||
echo "错误: 未找到 .env.prod 文件"
|
||
echo "请复制 .env.example 为 .env.prod 并填写生产环境变量"
|
||
exit 1
|
||
fi
|
||
|
||
# 检查必需的环境变量
|
||
source .env.prod
|
||
required_vars=("WECOM_TOKEN" "WECOM_ENCODING_AES_KEY" "WECOM_CORP_ID" "WECOM_AGENT_ID")
|
||
for var in "${required_vars[@]}"; do
|
||
if [ -z "${!var}" ]; then
|
||
echo "错误: .env.prod 中未设置 $var"
|
||
exit 1
|
||
fi
|
||
done
|
||
|
||
# 设置镜像标签(默认 latest)
|
||
IMAGE_TAG=${IMAGE_TAG:-latest}
|
||
export IMAGE_TAG
|
||
|
||
# 启动服务
|
||
echo "使用镜像标签: $IMAGE_TAG"
|
||
echo ""
|
||
|
||
docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d
|
||
|
||
echo ""
|
||
echo "等待服务启动..."
|
||
sleep 5
|
||
|
||
# 检查服务状态
|
||
echo ""
|
||
echo "服务状态:"
|
||
docker-compose -f docker-compose.prod.yml ps
|
||
|
||
echo ""
|
||
echo "=== 启动完成 ==="
|
||
echo ""
|
||
echo "查看日志: docker-compose -f docker-compose.prod.yml logs -f"
|
||
echo "检查健康: curl http://localhost/api/health"
|