← [ BACK_TO_NOTES ]

NX MOC

Nx 相关基础笔记和进阶主题的入口。

#growing #moc #eng

NX-MOC

知识总览

filters:
  and:
    - 'file.ext == "md"'
    - 'file.inFolder("z")'
    - 'this.file.links.contains(file)'
    - 'file.path != this.file.path'
formulas:
  knowledge: 'file.asLink(title)'
properties:
  formula.knowledge:
    displayName: 知识
  note.description:
    displayName: Description
  note.mastery:
    displayName: Mastery
views:
  - type: table
    name: 知识总览
    order:
      - formula.knowledge
      - note.description
      - note.mastery
    columnSize:
      formula.knowledge: 280
      note.description: 760
      note.mastery: 56

基础

nx-overview project-json-file-explained Monorepo 测试架构

“A typical way to conceptualize the application is as ‘containers’ that connect, package, and build functionality implemented in libraries.” Nx中的一个思想

进阶

Nx管理mcp

面试要点

来自 项目里 CI/CD 怎么做,怎么规划部署 的面试视角整理。

一句话回答

CI/CD 的重点不是”会不会写 yml”,而是能不能让反馈更快、减少无意义构建、稳定构建测试发布规则,以及针对多端项目设计不同的流水线路径。

CI 设计原则

四个目标

  1. 反馈更快:改完代码后尽快知道有没有问题
  2. 减少无意义构建:不要每次改一个模块就把全仓跑一遍
  3. 规则稳定:构建、测试、发布规则要一致、可预期
  4. 多端差异化:不同应用走不同的流水线路径

实际做法(Nx Monorepo)

nx affected -t lint typecheck test build
  • nx affected 根据 git diff 计算影响范围
  • 只对受影响的项目跑 lint、typecheck、test、build
  • 大幅减少 CI 时间,尤其在大仓库里

如果仓库同时包含前端、BFF、微服务和 agent,更合理的做法通常不是“PR 全量跑所有测试”,而是用 Monorepo 测试架构 的思路分层运行:PR 跑 fast / affected,nightly 跑全量集成与 eval,release 再做环境验证。

流水线分层

PR 阶段(快速反馈):

  • lint(代码规范)
  • typecheck(类型检查)
  • 受影响项目的单元测试

合并后(完整校验):

  • 全量 typecheck
  • 全量 test
  • build 验证产物

发布阶段(按需触发):

  • 版本号校验(tag 和 package.json 一致性)
  • 按平台构建(桌面端产出 dmg/exe/appimage)
  • 产物上传和发布

面试回答主线

如果问”你怎么规划 CI/CD”

我会分三个阶段。PR 阶段追求快速反馈,只跑 lint、typecheck 和受影响测试;合并后做完整校验,确保主干稳定;发布阶段按应用类型走不同路径,比如 Web 端部署到 CDN,桌面端按平台构建安装包。核心是让每一步都有明确目的,而不是盲目全量跑。

如果问”多端项目 CI 怎么设计”

不同端有不同的构建目标和产物。Web 端重点是构建产物和部署到服务器;Desktop 端需要按平台(macOS/Windows/Linux)分别构建;API 端重点是类型检查和测试。我会用 Nx 的 affected 机制让 CI 只跑受影响的部分,同时给不同端设计独立的发布流水线。

和亿格云场景的关联

亿格云作为企业安全平台,CI/CD 里我会额外重视安全扫描(依赖漏洞检查、SAST)、产物签名和发布审计。企业产品的发布不是”能跑就行”,而是要可追溯、可回滚、有审计记录。

常见误区

只说”用 GitHub Actions”

工具不是重点,重点是流水线怎么设计、怎么分层、怎么优化反馈速度。

不考虑增量构建

大项目全量跑 CI 会非常慢,affected 或类似机制是必须的。

忽略安全扫描

企业产品里,依赖漏洞扫描、代码安全扫描应该纳入 CI。

最短记忆方式

CI/CD = 快速反馈 + 增量校验 + 分层流水线 + 多端差异化 + 安全审计

创建于 2025/12/28 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本