跳到主要内容

共享您的缓存

Lerna 提供的计算缓存可以分布在多台机器上。您可以自行构建缓存实现,也可以使用 Nx Cloud。Nx Cloud 是一个提供快速且零配置的分布式缓存实现的应用。对于开源项目和大多数闭源项目都是完全免费的(在此处了解更多)。

您可以通过运行以下命令将工作空间连接到 Nx Cloud:

npx nx connect-to-nx-cloud
终端输出
✔ 启用分布式缓存以加快 CI 速度 · 是

> NX 生成 @nrwl/nx-cloud:init

更新 nx.json

> NX 通过 Nx Cloud 启用分布式缓存

除了缓存之外,Nx Cloud 还提供无配置的分布式执行、
用于查看复杂运行的 UI 和 GitHub 集成。在 https://nx.app 了解更多

您的工作空间目前是未认领的。未认领工作空间的运行详情可以被任何
拥有链接的人在 cloud.nx.app 上查看。在以下链接处认领您的工作空间以限制访问。

https://cloud.nx.app/orgs/workspace-setup?accessToken=您的访问令牌

要查看远程缓存的实际效果,请运行:

lerna run build --scope=header && nx reset && lerna run build --scope=header
终端输出
> lerna run build --scope=header

> header@0.0.0 build
> rimraf dist && rollup --config

src/index.tsx → dist...
创建 dist 用时 786ms

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Lerna (powered by Nx) 成功为项目 header 运行目标 build(2秒)

在 https://cloud.nx.app/runs/k0HDHACpL8 查看日志并调查缓存未命中情况


> NX 重置 Nx 工作空间缓存并停止 Nx 守护进程。

这可能需要几分钟。


> NX 守护进程服务器 - 已停止


> NX 成功重置 Nx 工作空间。


> lerna run build --scope=header [远程缓存]


> header@0.0.0 build
> rimraf dist && rollup --config


src/index.tsx → dist...
创建 dist 用时 786ms

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Lerna (powered by Nx) 成功为项目 header 运行目标 build(664ms)

Nx 从缓存中读取输出,而不是运行命令,共 1 个任务中的 1 个。

Nx Cloud 使得重用 header 成为可能:https://nx.app/runs/P0X6ZGTkqZ

将您的工作空间连接到 Nx Cloud 账户

在您的工作空间中启用 Nx Cloud 后,您将看到以下内容:

>  NX   注意  Nx Cloud 已启用

您的工作空间目前是公开的。任何有代码访问权限的人
都可以在 nx.app 上查看工作空间。

您可以在以下地址将工作空间连接到您的 Nx Cloud 账户
https://nx.app/orgs/workspace-setup?accessToken=N2Y3NzcyO...
(您可以稍后再进行此操作。)

点击此链接将工作空间与您的 Nx Cloud 账户关联。如果您还没有 Nx Cloud 账户,可以立即创建一个。

认领工作空间后,您将能够管理权限、创建访问令牌、设置账单等。

您还将看到一个交互式教程,帮助您探索分布式缓存和 Nx Cloud 用户界面。

如果您丢失了此链接,仍然可以将工作空间连接到 Nx Cloud。转到 nx.app,创建一个账户,并使用 nx.json 中的访问令牌连接您的工作空间。

跳过云服务

类似于 --skip-nx-cache 会指示 Nx 不使用缓存,传递 --no-cloud 将告诉 Nx 不使用 Nx Cloud。