EdgeOne Makers 部署基础
看完 EdgeOne Makers 快速开始,你已经部署了第一个静态页面。接下来系统讲讲部署背后的机制:Git 集成、自动触发和部署状态,让你明白 push 之后到底发生了什么。部署方式有很多种,最常用的是 Git 集成部署,也就是把代码推送到 GitHub、GitLab 或者 Bitbucket,平台自动帮你构建和部署。这篇就来讲讲 Git 集成部署的原理、自动部署触发机制、怎么查看部署状态。
Git 集成部署
关联 Git 仓库
创建项目的时候,如果你选择”从 Git 导入”,就需要先关联 Git 仓库。
平台支持三种 Git 服务:
| Git 服务 | 说明 |
|---|---|
| GitHub | 最常用,支持公开和私有仓库 |
| GitLab | 支持 GitLab.com 和自托管 GitLab |
| Bitbucket | Atlassian 的代码托管服务 |
关联过程很简单,点击对应的按钮,跳转到授权页面,授权完成后就能看到你所有的仓库了。
选择仓库和分支
授权完成后,会列出你所有的仓库。选择你要部署的仓库,然后选择要部署的分支。
默认是部署 main 分支,但你也可以选其他分支,比如 develop 或者 feature 分支。
自动检测项目类型
选好仓库和分支后,平台会自动扫描项目结构,检测用的是什么框架。
检测逻辑大概是这样的:
| 检测到的文件 | 判断结果 |
|---|---|
| package.json 里有 vue 依赖 | Vue 项目 |
| package.json 里有 react 依赖 | React 项目 |
| package.json 里有 next 依赖 | Next.js 项目 |
| package.json 里有 nuxt 依赖 | Nuxt 项目 |
| 有 requirements.txt | Python 项目 |
| 有 go.mod | Go 项目 |
| 只有 HTML 文件 | 静态站点 |
检测完成后,平台会自动填充构建命令和输出目录。如果检测错了,可以在设置里手动改。
自动部署触发
关联 Git 仓库后,平台会监听仓库的变化。有代码推送时,会自动触发部署。
触发条件
| 触发条件 | 说明 |
|---|---|
| Push 到关联的分支 | 最常见的触发方式 |
| Pull Request 合并 | PR 合并到关联分支时触发 |
| 手动触发 | 在控制台点击”重新部署”按钮 |
| Webhook 触发 | 通过 API 调用触发部署 |
分支部署策略
可以配置不同分支的部署策略。
单分支部署
只部署一个分支,比如 main 分支。其他分支的推送不会触发部署。
这是最简单的模式,适合个人项目或者小团队。
多分支部署
部署多个分支,每个分支对应不同的环境。
比如:
- main 分支部署到生产环境
- develop 分支部署到测试环境
- feature 分支部署到预览环境
每个环境有独立的域名和环境变量配置。
Preview 部署
每次创建 Pull Request 时,自动部署一个预览环境。
预览环境有独立的域名,比如 https://pr-123.edgeone.app,方便测试和review。
PR 合并或关闭后,预览环境会自动删除。
部署状态
每次部署都有状态,可以在控制台的”部署记录”里查看。
部署状态类型
| 状态 | 说明 |
|---|---|
| 排队中 | 部署任务已创建,等待执行 |
| 构建中 | 正在执行构建命令 |
| 部署中 | 构建完成,正在上传产物到边缘节点 |
| 成功 | 部署完成,可以访问了 |
| 失败 | 部署过程中出错,需要查看日志排查 |
| 已取消 | 部署被手动取消 |
查看部署日志
点击部署记录,可以看到这次部署的详细日志。
日志分为两部分:
构建日志
显示执行构建命令时的输出,比如 npm install、npm run build 的输出。
如果构建失败,可以在这里看到具体的错误信息。
部署日志
显示部署过程中的信息,比如上传文件、分发到边缘节点等。
回滚到历史版本
如果最新部署有问题,可以回滚到之前的版本。
在部署记录里找到要回滚的版本,点击”回滚”按钮,平台会重新部署那个版本。
回滚操作本身也会生成一条新的部署记录。
部署优化
缓存依赖
每次部署都重新安装依赖会很慢。平台支持缓存 node_modules 目录。
在项目设置里开启”依赖缓存”选项,下次部署时会直接使用缓存的依赖,不用重新安装。
缓存会在以下情况失效:
| 失效条件 | 说明 |
|---|---|
| package.json 变化 | 依赖列表变了,缓存失效 |
| 手动清除缓存 | 在设置里点击”清除缓存”按钮 |
| 缓存过期 | 默认缓存 7 天 |
并行构建
如果项目有多个构建任务,可以配置并行执行。
比如先构建前端,再构建后端,两个任务同时进行,节省时间。
增量部署
对于大项目,全量部署会很慢。平台支持增量部署,只上传变化的文件。
增量部署默认开启,不用手动配置。
手动部署
除了 Git 集成部署,也可以手动部署。
CLI 部署
使用命令行工具部署,后面 EdgeOne Makers CLI 与本地开发 会详细讲。
edgeone deploy
API 部署
通过 API 调用触发部署,后面 EdgeOne Makers API Token 会讲。
curl -X POST https://api.edgeone.ai/v1/projects/{project_id}/deploy \
-H "Authorization: Bearer YOUR_TOKEN"
上传部署
直接在控制台上传构建产物。
进入项目设置,点击”手动部署”,上传 dist 目录或者 zip 包。
这种方式适合不想用 Git 的场景,但不推荐,因为没法追溯历史版本。
速查卡片
| 要点 | 说明 |
|---|---|
| Git 集成 | 支持 GitHub、GitLab、Bitbucket |
| 自动检测 | 平台自动识别框架,填充构建配置 |
| 触发方式 | Push、PR 合并、手动触发、Webhook |
| 分支策略 | 单分支、多分支、Preview 部署 |
| 部署状态 | 排队中、构建中、部署中、成功、失败、已取消 |
| 部署日志 | 分构建日志和部署日志两部分 |
| 回滚 | 可以回滚到历史版本 |
| 优化手段 | 依赖缓存、并行构建、增量部署 |