使用 Gitlab CI/CD

最近更新时间:2026-02-27 14:04:42

我的收藏
通过本章节指南,你可以使用 GitLab CI/CD 实现自动构建并部署项目到 EdgeOne Pages。

配置 GitLab CI/CD 变量

1. 进入 GitLab 仓库页面,点击左侧菜单栏的 Settings > CI/CD
2. 展开 Variables 部分,点击 Add variable
3. 配置以下变量:
Key: EDGEONE_API_TOKEN
Value: 从 EdgeOne Pages 控制台获取的 API Token
Type: Variable
Flags: 勾选 Mask variable(隐藏变量值)和 Protect variable(可选,仅在受保护分支使用)
EDGEONE_API_TOKEN 的获取可参见 API Token

创建 GitLab CI/CD 配置文件

在你的 GitLab 仓库根目录下创建一个名为 .gitlab-ci.yml 的文件,并添加以下内容:
stages:
- deploy

variables:
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: deploy
only:
- merge_requests
script:
- 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: deploy
only:
- main
script:
- 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 会自动更新该项目的部署。

相关文档