V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  xhawk  ›  全部回复第 1 页 / 共 7 页
回复总数  140
1  2  3  4  5  6  7  
2 小时 11 分钟前
回复了 xhawk 创建的主题 程序员 一个 MonoRepo 复杂系统的部署问题
@xiaket 的确是, 我仔细去分析了一下, 这个的确才是正解的好的解决方法。

然后, 我也分享一下我最后自己的实践。 因为我的目的是让阿里云的 acr 来构建镜像(这个里头有网络传输的因素)

所以, 我的路径是这样子的:

1. 本地开发之后:apps 下有 10 个 app, 写个脚本, 针对本次的修改, 分析出是哪几个 app 需要构建镜像,打 tag
2. 然后代码 commit , 推送到 github 的时候, 就有 commit 同时也有需要的 tag
3. 阿里云 acr 基于 tag 来自动构建。 (因为用的阿里云的个人版, 不支持正则打 tag, 这个让我测试了一下午,吐血)

这个是大致的做法。 感谢各位参与发言的小伙伴, 感谢。
1 天前
回复了 xhawk 创建的主题 程序员 一个 MonoRepo 复杂系统的部署问题
@rocmax 对, 感谢, 也就是这个问题的核心关键。 当然, 我也只是抛出问题, 希望能获得其他的灵感和做法。 若有的话, 欢迎给建议,我来做实验, 同时, 我也会把我最后的做法分享出来。
1 天前
回复了 xhawk 创建的主题 程序员 一个 MonoRepo 复杂系统的部署问题
@members 这是一个很核心的问题。虽然我改了一个应用,但在自动构建时,不一定只构建这一个应用,因为应用之间是存在依赖关系的。AI 给我的建议与你的思路类似,就是通过 GitHub 的 Actions 去计算这次应该构建哪个服务。

monorepo 在代码管理以及多项目协同与调度方面,我觉得它的表现相当优秀。但构建速度慢的问题确实让人头疼,尤其是 Next.js 的慢,尤其令人烦躁。
1 天前
回复了 xhawk 创建的主题 程序员 一个 MonoRepo 复杂系统的部署问题
这个 cursor ai 给的建议, 虽然不是很满意, 但是似乎也只能这么干, 要么就是上面有人建议的采用付费的方式。
ai 的建议, 大概意思意思 acr 构建镜像采用过滤的方式, 代码改了啥, 就构建啥就好了。

**结论先说:仓库不要拆。慢的不是 Monorepo ,是「 main 一推就串行重打全部镜像」。**

源码继续单仓单分支是对的。行业里 Google / Meta / Shopify 、以及 Nx / Turborepo 的做法都是:**代码合在一起,构建按依赖图只打受影响的那几个。** App 越多,越要走这条路,而不是拆仓。


**推荐方向(这就是业内标准解):Affected Build + 远程缓存 + 只发变更。**

1. **关掉 ACR 当 CD 引擎。** 个人版不适合 10+ 服务。构建改到你们已有的 self-hosted Actions (可并行),结果推杭州 ACR ; Dokploy 只 Redeploy 本次变更的服务。
2. **按依赖图决定打谁,不要按「整个仓库变了」。** 例如改 `apps/fis-open-api` 只打 open-api ;改 `apps/fis-api` 打 fis-api **以及**依赖它的 open-api ;改 `packages/*` 只打引用它的前端。用 `paths-filter` 或一份很小的 affected 映射就够,不必上 Bazel 。
3. **缓存比拆 context 更值钱。** Dockerfile 已经分层了(先 requirements / package.json )。接上 BuildKit registry cache 后,没改依赖的镜像应是秒级命中。根 context 可以留——你们前端是 pnpm workspace ,强行 per-app context 收益不大。
4. **中期把「构建期互相 COPY 」收掉。** open-api 不要整份拷贝 fis-api/agents ,改运行时 HTTP / 抽出 `packages` 共享库; fis-web 的共享 UI 进 `packages/fis-shared`。耦合一收,affected 扇出就小,速度才会随 App 增加而近似持平。
5. **发版钉 digest ,不要 8 个 `*-latest` 整波拉。** 未重建的服务保持旧 digest ,避免「构建快了、发布又全量」。
1 天前
回复了 xhawk 创建的主题 程序员 一个 MonoRepo 复杂系统的部署问题
@lujiaosama 那有啥建议的不, 如果全部分开代码管理, 也很复杂。 因为涉及到系统间的各种调用。
写得太啰嗦了。 我其实很需要个类似的开源的 bot 方案。
@leonidas10086 你的这个产品, 是不是产品方向又做了更改? 现在改为生产智能体的这部分的?若是的话, 的确是个好方向。 加油。
特发来感谢,今天在我的应用里头借鉴了大佬的代码, 集成到我的一个应用里头去。 主要用来看看 markdown 文档。
我的一点思考: 我刚才以为这个是做智能体的, 后来才发现, 是智能体做好后上架到这边去, 完成后续的商业化,我自己的理解, 这个可能是悖论。 因为我智能体怎么构建, 用什么架构, 事实你也不知道, 那么我怎么才能遵循你的思路上架呢 ? 其次, 假设真的上架了, 事实这部分最难的部分是商业化的获客和结算的逻辑, 各种人都是有各种获客方式和结算逻辑, 你怎么满足所有人的喜好呢。

如上只是一些个人的思考,以供参考。
因为这个里头最复杂的部分,其实我不觉得是那个上层应用的构建,底层的稳定性才是最重要的。
能不能放弃现有架构,从 pi 上构建?只做 pi 没有的,比如这个沙箱隔离。。。
挺有创意的, 赞!
3 月 31 日
回复了 mqx 创建的主题 分享创造 开发了一个电商套图的生成网站
对,提供 api 不
3 月 24 日
回复了 jedeft 创建的主题 云计算 买阿里的云服务,大家是在官网直接下单吗?
@liliang13 base64 bGduNjc2OA==
1  2  3  4  5  6  7  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2566 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 16:01 · PVG 00:01 · LAX 09:01 · JFK 12:01
♥ Do have faith in what you're doing.