构建
在 Deno DeployEA 中,您的应用程序代码的每个版本都表示为一个修订版(或构建)。从 GitHub 部署时,修订版通常与您的仓库中的 Git 提交一一对应。
构建触发器 跳转到标题
构建可以通过两种方式触发
-
手动:使用构建页面上的“部署默认分支”按钮,该按钮将部署默认的 Git 分支(通常是
main
)。下拉菜单允许您选择不同的分支。 -
自动:当新的提交被推送到与您的应用关联的 GitHub 仓库时。
构建阶段 跳转到标题
一个修订版在可用之前会经历以下阶段
- 排队中:修订版等待被分配给构建器。
- 准备中:构建器下载源代码并恢复任何可用的构建缓存。
- 安装:安装命令(如果指定)执行,通常用于下载依赖项。
- 构建:构建命令(如果指定)执行,创建并上传一个构建构件到运行时基础设施。
- 预热:一个
GET /
请求测试应用程序是否正确启动并能处理 HTTP 请求。 - 路由:全局基础设施根据其时间线配置,将请求路由到新的修订版。
如果任何步骤失败,构建将进入“失败”状态,并且不会接收流量。
构建日志在构建过程中实时流式传输到控制面板,并在完成后仍可在构建页面上查看。
构建缓存通过复用构建之间未更改的文件来加速构建。这会自动应用于框架预设和 DENO_DIR
依赖缓存。
您可以使用构建页面右上角的“取消”按钮取消正在运行的构建。构建在运行 5 分钟后会自动取消。
构建配置 跳转到标题
构建配置定义了如何将源代码转换为可部署的构件。您可以在三个地方修改构建配置
- 在应用创建期间,点击“编辑构建配置”
- 在应用设置中,点击构建配置部分中的“编辑”
- 在失败构建页面的重试抽屉中
创建应用时,如果您的仓库使用了受支持的框架或常见的构建设置,构建配置可能会自动从您的仓库中检测到。
配置选项 跳转到标题
-
框架预设:为 Next.js 或 Fresh 等受支持的框架优化的配置。了解更多关于框架集成的信息。
-
安装命令:用于安装依赖项的 Shell 命令,例如
npm install
或deno install
。 -
构建命令:用于构建项目的 Shell 命令,通常是来自
package.json
或deno.json
的任务,例如deno task build
或npm run build
。 -
运行时配置:确定应用程序如何提供流量
- 动态:适用于使用服务器响应请求的应用程序(API 服务器、服务器渲染的网站等)
- 入口点:要执行的 JavaScript 或 TypeScript 文件
- 参数(可选):传递给应用程序的命令行参数
- 静态:适用于提供预渲染内容的静态网站
- 目录:包含静态资源的文件夹(例如
dist
,.output
) - 单页应用模式(可选):对于不匹配静态文件的路径,提供
index.html
而不是返回 404 错误
- 目录:包含静态资源的文件夹(例如
- 动态:适用于使用服务器响应请求的应用程序(API 服务器、服务器渲染的网站等)
构建环境 跳转到标题
构建环境运行在 Linux 上,采用 x64 或 ARM64 架构。可用工具包括
deno
(与运行时版本相同)node
npm
npx
yarn
(v1)pnpm
git
tar
gzip
构建器内的所有 JavaScript 都使用 Deno 执行。
node
命令实际上是一个垫片,它将 Node.js 调用转换为 deno run
。类似地,npm
、npx
、yarn
和 pnpm
也是通过 Deno 而不是 Node.js 运行的。
为“构建”上下文配置的环境变量在构建期间可用,但“生产”或“开发”上下文中的变量不可用。了解更多关于环境变量的信息。
构建器在构建过程中有 8 GB 的存储空间可用。