Skip to content

feat: add Ubuntu/Debian native one-click deployment#82

Merged
iancaoo merged 1 commit into
datagallery-lab:mainfrom
wangjk9527:feat/native-one-click-deployment
Jul 23, 2026
Merged

feat: add Ubuntu/Debian native one-click deployment#82
iancaoo merged 1 commit into
datagallery-lab:mainfrom
wangjk9527:feat/native-one-click-deployment

Conversation

@wangjk9527

Copy link
Copy Markdown
Collaborator

Summary

  • 新增 ./deploy.sh 原生一键部署入口,覆盖 deploy / start / stop / status / logs / doctor 等生命周期命令
  • 将 README 与中英文 quick start 调整为以原生部署为主路径,并补充 complete-.env / --reconfigure、后台运行等说明
  • 增加部署脚本单元测试与 CI smoke(npm run test:deploy),覆盖配置、端口、健康检查与进程生命周期

Test plan

  • npm run test:deploy 本地通过
  • 在 Ubuntu/Debian 上执行 ./deploy.sh(或 ./deploy.sh deploy)完成配置、依赖安装与启动
  • 验证 ./deploy.sh status / logs / doctor 输出正常
  • 验证 ./deploy.sh stop 后服务停止,再 ./deploy.sh start 可恢复
  • 已有完整 .env 时再次 deploy 会跳过交互;--reconfigure 可重新配置
  • CI 中 native deploy smoke job 通过

@wangjk9527
wangjk9527 force-pushed the feat/native-one-click-deployment branch from f415ebe to 0255b95 Compare July 23, 2026 05:22
@wangjk9527
wangjk9527 force-pushed the feat/native-one-click-deployment branch 4 times, most recently from 7708e5f to ca1617d Compare July 23, 2026 08:32
@wangjk9527
wangjk9527 requested review from SymbolZH and removed request for zyairehhh July 23, 2026 11:01

@iancaoo iancaoo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

几处功能性改动建议,请确认后再 merge。

  1. selectPortWithHint(cli.mjs)print 包装的 if/else 两分支都是 print(message),是无效分支;ask 校验失败后无重试上限地递归 options.ask(prompt),持续输入非法值会无限循环。
  2. CLI 的 verifyPorts 调用 verifySelectedPorts(services) 时未传 managedPorts,重新部署且端口被旧进程短暂占住时会误报「already in use」。
  3. startManagedStack 首次创建 storage/logs/datafoundry.logopen(path, "a") 未指定 mode: 0o600,受进程 umask 影响可能为 0644,导致运行日志对其他用户可读(日志同样含 redact 过的敏感内容)。

Comment thread scripts/deploy/cli.mjs Outdated
Comment thread scripts/deploy/cli.mjs Outdated
Comment thread scripts/deploy/process-state.mjs Outdated
iancaoo

This comment was marked as duplicate.

@iancaoo
iancaoo dismissed their stale review July 23, 2026 11:39

duplicate submission of the same review (network retry); keeping the first copy

@wangjk9527

wangjk9527 commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator Author

针对 @iancaoo 的 3 条功能性意见,均已核实并处理:

# 意见 结论 处理
1 selectPortWithHint 无效分支 + 无界递归 成立 删掉无效 print 分支;ask 最多重试 5 次后抛错;补测持续非法输入
2 CLI verifyPorts 未传 managedPorts 成立 透传 collectManagedPorts(env, state);补测 managed skip
3 runtime log open("a") 未设 0o600 部分成立(首次创建已由 rotateRuntimeLog 设权,但仍不一致) open(..., "a", 0o600) + mode 断言

提供 deploy.sh 原生部署链路(configure/install/build/start/stop/doctor/tui),
含端口选择、托管进程状态、密钥脱敏与健康检查;并按评审收紧端口菜单重试、
verifyPorts managedPorts 透传,以及 runtime log 的 0o600 创建权限。
@wangjk9527
wangjk9527 force-pushed the feat/native-one-click-deployment branch from ca1617d to bda6ef6 Compare July 23, 2026 11:45
@iancaoo
iancaoo merged commit 31cc98f into datagallery-lab:main Jul 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants