XuqmGroup
4c6be2c489
feat: 版本状态看板 — 检查更新时展示全量服务对比表格
...
- Dockerfile.tenant/ops: 注入 SERVICE_VERSION ARG,设置 com.xuqm.version 标签
- Jenkinsfile: 移除手动 IMAGE_TAG;自动递增语义版本;构建后更新 versions.json;commit VERSION 文件
- SecurityCenterView: 点击「检查更新」后始终展示全量服务当前版本 vs 云端版本对比表格(不再仅 hasUpdate 时显示)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 19:33:39 +08:00
XuqmGroup
07d6307b5d
fix(ci): 修复 bat 脚本错误处理,Docker 失败时立即退出
...
原 || exit /b %ERRORLEVEL% 在 Windows bat 中无法可靠捕获 Docker API
错误(Docker Desktop 宕机时返回 500 但 %ERRORLEVEL% 可能仍为 0),
导致构建失败时管道仍标记为 SUCCESS。改为 if %errorlevel% neq 0 exit /b 1。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 15:20:16 +08:00
XuqmGroup
50eb60b895
fix(ci): 部署阶段加 lock(prod-deploy) 和 retry,防止并发 pull 失败
...
多个 Jenkins job 同时向同一服务器执行 docker pull 时,containerd
ingest 目录存在 rename 竞争,会出现 "no such file or directory"
错误。通过全局锁 prod-deploy 序列化所有部署操作(与 Server
Jenkinsfile 共享同一锁名),并加 retry(2) 兜底。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 15:16:37 +08:00
XuqmGroup
58f7fb4a44
fix(web): 修复双垂直滚动条并优化Docker构建缓存策略
...
- MainLayout: 为侧边栏添加 overflow:hidden,避免 el-aside 默认
overflow:auto 在菜单内容较多时产生第二条垂直滚动条
- Dockerfile.tenant: 将 COPY 源码移至 yarn install 之后并引入
GIT_COMMIT ARG,确保每次提交都重新构建源码层,防止 --cache-from
错误复用旧层导致更新未生效
- Jenkinsfile: 传入 GIT_COMMIT 构建参数;新增 NO_CACHE 参数,缓存
异常时可强制全量重建
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 15:11:43 +08:00
XuqmGroup
ee20767d57
fix(security-center): add missing isMobile ref and fix Jenkins build failure handling
...
- Add isMobile reactive ref with resize listener in SecurityCenterView
to fix TypeScript build error TS2339
- Fix Jenkinsfile: use '|| exit /b %ERRORLEVEL%' after docker build/push
and ssh deploy commands so Windows bat steps actually fail the pipeline
when a command returns non-zero exit code
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 19:33:38 +08:00
XuqmGroup
c54ba18f8a
fix deploy: remove orphaned container before docker compose recreate
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:35:05 +08:00
Dev
88e5a70d87
feat: 授权管理页面+路由,IM状态30s轮询,移除接入文档,ops去除appKey/平台列,Jenkinsfile固定main分支
2026-05-16 11:31:21 +08:00
XuqmGroup
ceb22c6286
fix: Jenkins checkout 使用 BRANCH 参数而非 scm 默认分支
...
checkout scm 忽略 BRANCH 参数,使用 Jenkins 任务配置的 SCM 分支。
改为显式 checkout 并引用 params.BRANCH,确保构建最新代码。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 23:56:46 +08:00
XuqmGroup
8f27adfe06
feat: split web jenkins jobs
2026-05-09 16:22:13 +08:00
Jenkins CI
3151df4054
ci(jenkins): optimize Jenkinsfile for Windows node
2026-05-08 18:46:59 +08:00
XuqmGroup
168bf4662c
docs(deploy): 添加部署文档和安全设计规范
...
- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤
- 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证
- 补充平台REST API规范,定义Server-to-Server调用接口和错误码
- 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
2026-05-08 18:32:00 +08:00
XuqmGroup
92eb1ed539
feat(deploy): 添加生产环境部署配置和联调环境切换功能
...
- 新增 .env.production.example 配置文件,包含所有微服务的数据库和Redis配置
- 添加 compose.production.yaml Docker Compose部署文件,定义web和各服务容器
- 实现Android SDK环境切换功能,支持外部服务和本地联调模式切换
- 添加推送注册状态管理和接收开关设置界面
- 集成演示服务的应用密钥客户端和认证服务实现
- 完善文档说明各SDK模块的集成和使用方法
2026-04-30 11:47:01 +08:00
XuqmGroup
e27a9ef917
ci: switch sh to bat — Windows Jenkins native execution
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 06:50:06 +08:00
XuqmGroup
8d28f80761
ci: simplify pipeline — one combined web image, docker build handles yarn internally
...
Remove APP parameter split; existing Dockerfile already builds tenant+ops+docs
into a single Nginx image. Server-side docker login pre-configured.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 06:35:58 +08:00
XuqmGroup
5fdb06c1a5
ci: use Docker agent for yarn build stage on Windows Jenkins
...
Run yarn install/build inside node:22-alpine Linux container via Docker
Pipeline plugin; Docker/SSH deploy stages remain on native agent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 21:42:58 +08:00
XuqmGroup
b349ae159b
chore: fill real ACR registry config in Jenkinsfile
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 21:01:41 +08:00
XuqmGroup
fdc9ae833b
feat: appSecret security UX, IM admin management, remove SecretKey, CI pipeline
...
- AppDetailView: appSecret hidden by default, email verification to reveal/reset
- AppDetailView: remove per-service SecretKey, service enable requires ops approval request
- ImManagementView: add register user and create group dialogs
- app.ts/im.ts: update API types and add new endpoints
- Add Jenkinsfile for Web apps (yarn build → Docker → ACR → deploy)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:54:03 +08:00