Zephyr Cloud
预设: zephyr
Zephyr 支持通过 zephyr 预设内置于 Nitro 中。
对于大多数 Zephyr 特定的主题,例如 BYOC、云集成、环境和 CI/CD 认证,请参阅 Zephyr Cloud 文档。
BYOC 模式
Zephyr 支持 BYOC(自带云)模式。在 Zephyr 的架构中,控制平面由 Zephyr 管理,而数据平面(工作进程和存储)则运行在你的云账户中。
这使你可以在使用任何受支持的 Zephyr 云集成的服务的同时,保持 Zephyr 的部署工作流程。有关当前支持的提供商列表,请参阅 Zephyr BYOC 文档。
使用 Nitro CLI 部署
使用 Nitro 的部署命令,一键完成构建并上传应用到 Zephyr:
npx nitro deploy --preset zephyr
Nitro 将使用 zephyr-agent 上传生成的输出。如果缺少 zephyr-agent,Nitro 将提示在本地安装,并会在 CI 环境中自动安装。
构建时部署
在这一方面,Zephyr 与大多数 Nitro 提供商有所不同:我们建议启用 nitro build 期间的部署,并将构建视为主要的部署步骤。
如果你的 CI 流水线已经运行 nitro build,请在构建步骤期间启用部署:
import { defineNitroConfig } from "nitro/config";
export default defineNitroConfig({
preset: "zephyr",
zephyr: {
deployOnBuild: true,
},
});
这样你正常的构建命令就足够了:
npm run build
yarn build
pnpm build
bun run build
deno run build
构建完成后,Nitro 会将生成的输出上传到 Zephyr,部署到边缘节点,并打印部署 URL:
◐ Building [Nitro] (preset: zephyr, compatibility: YYYY-MM-DD)
...
ZEPHYR Uploaded local snapshot in 110ms
ZEPHYR Deployed to Zephyr's edge in 700ms.
ZEPHYR
ZEPHYR https://my-app.zephyrcloud.app
CI 认证
Zephyr 需要 API 令牌才能进行非交互式部署。以下示例使用更简单的个人令牌样式设置,使用 ZE_SECRET_TOKEN 并结合 zephyr.deployOnBuild。
name: Deploy with Zephyr
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
env:
ZE_SECRET_TOKEN: ${{ secrets.ZEPHYR_AUTH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
对于更高级的 CI/CD 设置,Zephyr 还记录了使用 ZE_SERVER_TOKEN 的组织级服务器令牌认证。请参阅 Zephyr CI/CD 服务器令牌文档。
选项
zephyr.deployOnBuild
在使用 zephyr 预设时,在 nitro build 期间部署到 Zephyr。
- 默认值:
false