使用 CNB 插件
通过本章节的指南,您可以快速在 CNB 集成云原生构建流程,实现自动构建并部署至 EdgeOne Pages。
配置密钥
使用 CNB 的密钥仓库来存储,然后在流水线中来引用。envs.yml 内容如下:
EDGEONE_API_TOKEN: oJTlMUq9**********NYzKFIw=
完整的 .cnb.yml 配置如下:
# 触发器:推送到主分支main:push:# 从私有仓库导入环境变量:# 参考:https://docs.cnb.cool/en/build/env.html#importing-environment-variables- imports: https://cnb.cool/***/-/blob/main/envs.ymlstages:# 构建当前项目- name: Build Current Projectimage: node:20script: node -v && npm install && npm run build# 将构建输出部署到 EdgeOne Pages# ./dist 目录由前一步构建步骤生成# 参考:https://www.npmjs.com/package/edgeone- name: Deploy to EdgeOne Pagesimage: node:20script: npx edgeone pages deploy <outputDirectory> -n <projectName> -t $EDGEONE_API_TOKEN
说明:
npx edgeone pages deploy
参数说明:<outputDirectory>: 项目构建后产物所在的文件夹(必填)
-n, --name: 需要部署的项目名称,项目不存在则自动创建新项目(必填)
-e, --env: 部署目标环境,可选值: production 或 preview(默认 production)
示例:npx edgeone pages deploy ./dist -n project-name -t $EDGEONE_API_TOKEN
CNB 云原生构建
当代码推送到 main 分支时,会触发以下构建过程:
1. 导入必要的环境变量
2. 使用 Node.js 20 环境构建项目
3. 将构建输出部署到 Pages
EdgeOne Pages 部署
构建完成后,项目会通过以下过程自动部署到 Pages:
1. 构建阶段生成 ./dist 目录
2. 使用 EdgeOne 命令行工具
edgeone pages deploy
进行部署