通过本章节指南,你可以使用 GitLab CI/CD 实现自动构建并部署项目到 EdgeOne Pages。
配置 GitLab CI/CD 变量
1. 进入 GitLab 仓库页面,点击左侧菜单栏的 Settings > CI/CD。
2. 展开 Variables 部分,点击 Add variable。
3. 配置以下变量:
Key:
EDGEONE_API_TOKENValue: 从 EdgeOne Pages 控制台获取的 API Token
Type: Variable
Flags: 勾选 Mask variable(隐藏变量值)和 Protect variable(可选,仅在受保护分支使用)
创建 GitLab CI/CD 配置文件
在你的 GitLab 仓库根目录下创建一个名为
.gitlab-ci.yml 的文件,并添加以下内容:stages:- deployvariables:PROJECT_NAME: "my-project" # 修改为你的项目名称# 缓存 node_modules 加速构建(可选)cache:key: ${CI_COMMIT_REF_SLUG}paths:- node_modules/# 场景一:代码合入前部署预览链接 (Preview)# 当产生 Merge Request 时触发deploy-preview:image: node:22.11.0 # 选择适合的 Node.js 版本stage: deployonly:- merge_requestsscript:- npm install- npm run build- npx edgeone pages deploy -n $PROJECT_NAME -t $EDGEONE_API_TOKEN -e preview# 场景二:部署主干代码变更 (Production)# 当代码推送到 main 分支时触发deploy-production:image: node:22.11.0 # 选择适合的 Node.js 版本stage: deployonly:- mainscript:- npm install- npm run build- npx edgeone pages deploy -n $PROJECT_NAME -t $EDGEONE_API_TOKEN -e production
配置说明
EdgeOne CLI 部署命令
npx edgeone pages deploy -n <项目名称> -t <API_TOKEN> -e <环境>
参数 | 说明 |
-n <项目名称> | EdgeOne Pages 项目名称,如项目不存在会自动创建 |
-t <API_TOKEN> | EdgeOne Pages API Token |
-e <环境> | 部署环境,可选 preview(预览)或 production(生产) |
部署场景说明
场景 | 触发条件 | 环境参数 | 说明 |
预览部署 | Merge Request | -e preview | 每次 MR 都会生成独立的预览链接,用于代码审查时查看效果 |
生产部署 | 推送到 main 分支 | -e production | 代码合入后自动部署到生产环境,用于正式发布,访问量大、稳定性要求高 |
工作流程
配置完成后,GitLab CI/CD 将按以下流程自动执行:
预览环境(Merge Request)
1. 触发条件:当创建或更新 Merge Request 时自动触发。
2. 执行流程:安装依赖 → 构建项目 → 部署到预览环境。
3. 结果:生成预览链接,可在 MR 中查看效果。
生产环境(Main 分支)
1. 触发条件:当代码推送到 main 分支时自动触发。
2. 执行流程:安装依赖 → 构建项目 → 部署到生产环境。
3. 结果:更新生产环境站点。
查看部署结果
1. 在 GitLab 仓库页面,点击左侧菜单栏的 Build > Pipelines 查看流水线状态。
2. 点击具体的流水线查看各阶段执行详情。
3. 部署成功后,访问 EdgeOne Pages 控制台 查看部署的项目和访问域名。
常见问题
Q: 流水线执行失败,提示权限错误?
A: 请检查
EDGEONE_API_TOKEN 变量是否正确配置,并确保 Token 未过期。Q: 如何部署到现有项目?
A: 在部署命令中使用
-n 参数指定已存在的项目名称即可,EdgeOne Pages 会自动更新该项目的部署。