边缘开发者平台
  • Pages
    • 产品简介
    • 快速开始
      • 导入 Git 仓库
      • 从模板开始
      • 直接上传
      • 从 AI 开始
    • 框架指南
      • 前端
        • Vite
        • React
        • Vue
        • 其他框架
      • 后端
      • 全栈
        • Next.js
        • Nuxt
        • Astro
        • React Router
        • SvelteKit
        • TanStack Start
        • Vike
      • 自定义 404 页面
    • 项目指南
      • 项目管理
      • edgeone.json
      • 缓存配置
      • 错误码
    • 构建指南
    • 部署指南
      • 概览
      • 触发部署
      • 管理部署
      • 部署按钮
      • 使用 Github Action
      • 使用 Gitlab CI/CD
      • 使用 CNB 插件
      • 使用 IDE 插件
      • 使用 CodeBuddy IDE
    • 域名管理
      • 概览
      • 自定义域名
      • 配置 HTTPS 证书
        • 概览
        • 申请免费证书
        • 使用 SSL 托管证书
      • 配置 DNS 的 CNAME 记录
    • 可观测性
      • 概览
      • 指标分析
      • 日志分析
    • Pages Functions
      • 概览
      • Edge Functions
      • Cloud Functions
        • 概览
        • Node Functions
    • 中间件
    • KV 存储
    • 边缘 AI
    • API Token
    • EdgeOne CLI
    • Pages MCP
    • 消息通知
    • 集成指南
      • AI
        • 对话型大模型集成
        • 图片大模型集成
      • 数据库
        • Supabase 集成
        • Pages KV 集成
      • 电商
        • Shopify 集成
        • WooCommerce 集成
      • 支付
        • Stripe 集成
        • Paddle 集成
      • CMS
        • WordPress 集成
        • Contentful 集成
        • Sanity 集成
        • Payload 集成
      • 身份验证
        • Supabase 集成
        • Clerk 集成
    • 最佳实践
      • 使用通用大模型快速搭建 AI 应用
      • 使用边缘 AI 模型快速搭建对话型 AI 站点
      • 使用 Shopify 搭建电商平台
      • 使用 Supabase 和 Stripe 搭建 SaaS 站点
      • 如何快速搭建公司品牌站点
      • 如何快速搭建博客站点
    • 迁移指南
      • 从 Vercel 迁移至 EdgeOne Pages
      • 从 Cloudflare Pages 迁移至 EdgeOne Pages
      • 从 Netlify 迁移至 EdgeOne Pages
    • 排障指南
    • 常见问题
    • 联系我们
    • 产品动态

使用 Gitlab CI/CD

通过本章节指南,你可以使用 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 会自动更新该项目的部署。

相关文档