fix(identity-service): 更换 npm 镜像为华为云解决超时问题
- npmmirror CDN 超时 (EIDLETIMEOUT) - 改用 mirrors.huaweicloud.com/repository/npm/ - 添加 disturl 配置加速 node 二进制下载 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
eba8953e3a
commit
db8350b2f5
|
|
@ -14,7 +14,13 @@
|
|||
"Bash(flutter test:*)",
|
||||
"Bash(flutter analyze:*)",
|
||||
"Bash(findstr:*)",
|
||||
"Bash(flutter pub get:*)"
|
||||
"Bash(flutter pub get:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit -m \"$(cat <<''EOF''\nrefactor(infra): 统一微服务基础设施为共享模式\n\n- 将 presence-service 添加到主 docker-compose.yml(端口 3011,Redis DB 10)\n- 更新 init-databases.sh 添加 rwa_admin 和 rwa_presence 数据库\n- 重构 admin-service/deploy.sh 使用共享基础设施\n- 重构 presence-service/deploy.sh 使用共享基础设施\n- 添加 authorization-service 开发指南文档\n\n解决多个微服务独立启动重复基础设施(PostgreSQL/Redis/Kafka)的问题\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git push)",
|
||||
"Bash(git commit -m \"$(cat <<''EOF''\nfeat(admin-service): 增强移动端版本上传功能\n\n- 添加 APK/IPA 文件解析器自动提取版本信息\n- 支持从安装包自动读取 versionName 和 versionCode\n- 添加 adbkit-apkreader 依赖解析 APK 文件\n- 添加 plist 依赖解析 IPA 文件\n- 优化上传接口支持自动填充版本信息\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git commit:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(tree:*)",
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit:*)",
|
||||
"Bash(git push)",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/backend/services/admin-service && npm run build 2>&1\")",
|
||||
"Bash(npm run build:*)",
|
||||
"Bash(npx tsc:*)",
|
||||
"Bash(node node_modules/.bin/tsc:*)",
|
||||
"Bash(docker build:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(timeout:*)",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/backend/services/admin-service && npm install @nestjs/serve-static @types/multer --save 2>&1\")",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/backend/services/admin-service && npm install @nestjs/serve-static@^4.0.0 @types/multer --save 2>&1\")",
|
||||
"Bash(ssh ceshi@rwa-colocation-1-lan:*)",
|
||||
"Bash(node:*)",
|
||||
"Bash(dir:*)",
|
||||
"Bash(npm install:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
}
|
||||
}
|
||||
|
|
@ -8,8 +8,10 @@ FROM node:20-alpine AS builder
|
|||
# Use Aliyun mirror for Alpine packages (China acceleration)
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# Use taobao npm registry (China acceleration)
|
||||
RUN npm config set registry https://registry.npmmirror.com
|
||||
# Use China mirrors for npm (try Huawei mirror as fallback)
|
||||
# Options: npmmirror.com, mirrors.huaweicloud.com, registry.npm.taobao.org
|
||||
RUN npm config set registry https://mirrors.huaweicloud.com/repository/npm/ && \
|
||||
npm config set disturl https://mirrors.huaweicloud.com/nodejs/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
@ -51,8 +53,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Use taobao npm registry (China acceleration)
|
||||
RUN npm config set registry https://registry.npmmirror.com
|
||||
# Use Huawei npm mirror (more stable than npmmirror)
|
||||
RUN npm config set registry https://mirrors.huaweicloud.com/repository/npm/
|
||||
|
||||
# Install production dependencies only
|
||||
COPY package*.json ./
|
||||
|
|
|
|||
|
|
@ -13,7 +13,31 @@
|
|||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" diff --stat)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" log --oneline -5)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add .)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add \"../admin-service/test/\")"
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add \"../admin-service/test/\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" status --short)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" commit -m \"$(cat <<''EOF''\nfeat(presence-service): 添加完整的测试套件和生产部署设施\n\n- 添加 165 个测试用例 (123 单元测试, 22 集成测试, 20 E2E测试)\n- 添加 Docker 多阶段构建和 docker-compose 生产部署配置\n- 添加完整的文档体系 (架构、API、开发、测试、部署)\n- 添加环境配置 (.env.development/production/test)\n- 添加部署脚本 (health-check, start-all, stop-service)\n- 修复 TypeScript 类型错误\n- 经 WSL2 验证所有生产部署命令测试通过\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" push)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add deploy.sh scripts/quick-test.sh scripts/rebuild-kafka.sh scripts/README.md)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" commit -m \"$(cat <<''EOF''\nfeat(presence-service): 添加完整的部署脚本\n\n- 添加 deploy.sh 主部署脚本 (build/start/stop/logs/migrate/test)\n- 添加 scripts/quick-test.sh API 快速测试脚本\n- 添加 scripts/rebuild-kafka.sh Kafka 重建脚本\n- 更新 scripts/README.md 文档\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" diff deploy.sh)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add deploy.sh)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" commit -m \"refactor(presence-service): 优化 deploy.sh 与主基础设施集成\n\n- 更新容器名和镜像名与项目规范一致\n- 添加 load_env 函数支持共享环境配置\n- 添加 up/logs-all/clean-all 命令\n- 使用动态 HEALTH_ENDPOINT\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" log --oneline -3)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" commit -m \"fix(presence-service): 修复 deploy.sh 自调用权限问题\n\n使用 bash \"\"$SCRIPT_DIR/deploy.sh\"\" 替代 $0 避免路径变化导致的权限问题\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" add .env.development .env.example .env.production Dockerfile docker-compose.yml scripts/README.md scripts/health-check.sh scripts/quick-test.sh scripts/rebuild-kafka.sh scripts/start-all.sh scripts/stop-service.sh src/main.ts)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services/presence-service\" commit -m \"$(cat <<''EOF''\nfix(presence-service): 统一端口配置为 3011\n\n修复端口配置不一致问题 (子项目使用3001,主项目使用3011):\n- 更新 docker-compose.yml 端口映射和健康检查URL\n- 更新 Dockerfile EXPOSE 和 HEALTHCHECK 端口\n- 更新 .env.* 文件中的 APP_PORT\n- 更新 src/main.ts 默认端口\n- 更新所有脚本中的端口引用\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit:*)",
|
||||
"Bash(git push:*)",
|
||||
"Bash(dir:*)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" status --short)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" add deploy.sh)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" commit -m \"$(cat <<''EOF''\nfix(deploy): 修复 health 命令使用正确的健康检查端点\n\n- 为每个微服务配置实际的健康检查端点路径\n- 大多数服务使用 /api/v1/health\n- backup-service 和 reward-service 使用 /health\n- leaderboard-service 使用 /api/health\n- 新增 presence-service (端口 3011)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" add presence-service/deploy.sh)",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" commit -m \"$(cat <<''EOF''\nfeat(presence-service): 添加 init-db 命令创建数据库\n\n- 添加 init-db 命令自动创建 rwa_presence 数据库\n- 创建数据库后自动运行 prisma db push 创建表结构\n- 更新帮助文档\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" commit -m \"$(cat <<''EOF''\nfeat(deploy): 添加 presence-service 到主部署脚本\n\n- 在 init-databases.sh 中添加 rwa_presence 数据库\n- 在 migrate 函数中添加 presence-service\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" commit -m \"$(cat <<''EOF''\nfix(deploy): 添加 admin-service 数据库 rwa_admin\n\n- 在 init-databases.sh 中添加 rwa_admin 数据库\n- 在 migrate 函数中添加 admin-service\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git -C \"c:/Users/dong/Desktop/rwadurian/backend/services\" push)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
# 应用配置
|
||||
NODE_ENV=development
|
||||
PORT=3008
|
||||
APP_NAME=reporting-service
|
||||
|
||||
# 数据库
|
||||
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/rwadurian_reporting?schema=public"
|
||||
|
||||
# JWT (与 identity-service 共享密钥)
|
||||
JWT_SECRET=your-super-secret-jwt-key-change-in-production
|
||||
JWT_ACCESS_EXPIRES_IN=2h
|
||||
|
||||
# Redis
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
|
||||
# Kafka
|
||||
KAFKA_BROKERS=localhost:9092
|
||||
KAFKA_GROUP_ID=reporting-service-group
|
||||
KAFKA_CLIENT_ID=reporting-service
|
||||
|
||||
# 外部服务
|
||||
IDENTITY_SERVICE_URL=http://localhost:3001
|
||||
PLANTING_SERVICE_URL=http://localhost:3003
|
||||
REFERRAL_SERVICE_URL=http://localhost:3004
|
||||
REWARD_SERVICE_URL=http://localhost:3005
|
||||
LEADERBOARD_SERVICE_URL=http://localhost:3007
|
||||
WALLET_SERVICE_URL=http://localhost:3002
|
||||
|
||||
# 文件存储
|
||||
FILE_STORAGE_PATH=./storage/reports
|
||||
FILE_STORAGE_URL_PREFIX=http://localhost:3008/files
|
||||
|
||||
# 报表缓存过期时间(秒)
|
||||
REPORT_CACHE_TTL=3600
|
||||
|
||||
# 报表快照保留天数
|
||||
SNAPSHOT_RETENTION_DAYS=90
|
||||
|
|
@ -33,7 +33,33 @@
|
|||
"Bash(node -e:*)",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/backend/services/identity-service && docker compose config --quiet && echo ''Docker Compose config is valid''\")",
|
||||
"Bash(ls:*)",
|
||||
"Bash(find:*)"
|
||||
"Bash(find:*)",
|
||||
"Bash(wsl --list --verbose)",
|
||||
"Bash(wsl -d Ubuntu -- bash -c \"echo ''WSL Ubuntu is running'' && cat /etc/os-release | head -3\")",
|
||||
"Bash(wsl:*)",
|
||||
"Bash(git push)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(done)",
|
||||
"Bash(timeout:*)",
|
||||
"Bash(npm run build:*)",
|
||||
"Bash(test:*)",
|
||||
"Bash(npx prisma migrate dev:*)",
|
||||
"Bash(DATABASE_URL=\"postgresql://user:pass@localhost:5432/db\" npx prisma migrate:*)",
|
||||
"Bash(npm install:*)",
|
||||
"Bash(npm run prisma:generate:*)",
|
||||
"Bash(echo:*)",
|
||||
"Bash(git checkout:*)",
|
||||
"Bash(git reset:*)",
|
||||
"Bash(docker exec:*)",
|
||||
"Bash(docker build:*)",
|
||||
"Bash(if [ -f nul ])",
|
||||
"Bash(then rm nul)",
|
||||
"Bash(else echo \"nul file not found\")",
|
||||
"Bash(fi)",
|
||||
"Bash(docker-compose:*)",
|
||||
"Bash(c:/Android/platform-tools/adb.exe shell ping:*)",
|
||||
"Bash(curl:*)",
|
||||
"Bash(DATABASE_URL=\"postgresql://postgres:password@localhost:5432/rwa_identity?schema=public\" npx prisma migrate:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(cat:*)",
|
||||
"Bash(tree:*)",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/frontend/mobile-upgrade && docker --version && docker compose version\")",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/frontend/mobile-upgrade && docker compose build --no-cache 2>&1\")",
|
||||
"Bash(wsl -e bash -c \"cd /mnt/c/Users/dong/Desktop/rwadurian/frontend/mobile-upgrade && docker compose up -d 2>&1\")",
|
||||
"Bash(wsl -e bash -c \"docker ps --filter ''name=rwadurian-mobile-upgrade'' && sleep 3 && curl -s http://localhost:3020/api/health 2>&1\")",
|
||||
"Bash(wsl -e bash -c \"curl -s -o /dev/null -w ''%{http_code}'' http://localhost:3020/ && echo '' - Main page OK''\")",
|
||||
"Bash(wsl -e bash -c:*)",
|
||||
"Bash(git add:*)",
|
||||
"Bash(git commit -m \"$(cat <<''EOF''\nfeat(mobile-upgrade): 添加 Docker 和 Nginx 自动化部署配置\n\n- 添加 Dockerfile 多阶段构建配置\n- 添加 docker-compose.yml 容器编排\n- 添加 nginx 配置(域名: update.szaiai.com)\n- 添加 scripts 运维脚本(deploy/build/start/stop/restart/logs/status/clean/health)\n- 添加健康检查 API 端点 /api/health\n- 添加 .env.production 生产环境配置\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(git push:*)",
|
||||
"Bash(git commit -m \"$(cat <<''EOF''\nfix(mobile-upgrade): 修复 API URL 路径重复问题\n\n移除 NEXT_PUBLIC_API_URL 末尾的 /api,避免请求路径变成 /api/api/v1/...\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nEOF\n)\")",
|
||||
"Bash(nslookup:*)",
|
||||
"Bash(curl:*)",
|
||||
"Bash(git commit:*)",
|
||||
"Bash(find:*)",
|
||||
"Bash(dir:*)",
|
||||
"Bash(backend/services/admin-service/docker-compose.yml )",
|
||||
"Bash(backend/services/admin-service/src/api/controllers/version.controller.ts )",
|
||||
"Bash(backend/services/admin-service/src/api/controllers/download.controller.ts )",
|
||||
"Bash(backend/services/admin-service/src/app.module.ts )",
|
||||
"Bash(backend/services/admin-service/src/infrastructure/storage/file-storage.service.ts )",
|
||||
"Bash(frontend/mobile-app/lib/core/updater/download_manager.dart )",
|
||||
"Bash(frontend/mobile-app/scripts/ )",
|
||||
"Bash(frontend/mobile-upgrade/src/domain/entities/version.ts )",
|
||||
"Bash(frontend/mobile-upgrade/src/domain/repositories/version-repository.ts )",
|
||||
"Bash(frontend/mobile-upgrade/src/infrastructure/repositories/version-repository-impl.ts )",
|
||||
"Bash(frontend/mobile-upgrade/src/presentation/components/upload-modal.tsx)",
|
||||
"Bash(findstr:*)",
|
||||
"Bash(git pull:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue