添加 Docker 和 CI/CD 配置(无 SSH 方案)
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
This commit is contained in:
39
docker/entrypoint-api.sh
Normal file
39
docker/entrypoint-api.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo "君鸿卡管系统 API 服务启动中..."
|
||||
echo "========================================="
|
||||
|
||||
# 检查必要的环境变量
|
||||
if [ -z "$DB_HOST" ]; then
|
||||
echo "错误: DB_HOST 环境变量未设置"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 构建数据库连接 URL
|
||||
DB_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}?sslmode=${DB_SSLMODE}"
|
||||
|
||||
echo "检查数据库连接..."
|
||||
# 等待数据库就绪(最多等待 30 秒)
|
||||
for i in {1..30}; do
|
||||
if migrate -path /app/migrations -database "$DB_URL" version > /dev/null 2>&1; then
|
||||
echo "数据库连接成功"
|
||||
break
|
||||
fi
|
||||
echo "等待数据库就绪... ($i/30)"
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 执行数据库迁移
|
||||
echo "执行数据库迁移..."
|
||||
if migrate -path /app/migrations -database "$DB_URL" up; then
|
||||
echo "数据库迁移完成"
|
||||
else
|
||||
echo "警告: 数据库迁移失败或无新迁移"
|
||||
fi
|
||||
|
||||
# 启动 API 服务
|
||||
echo "启动 API 服务..."
|
||||
echo "========================================="
|
||||
exec /app/api
|
||||
Reference in New Issue
Block a user