构建
在 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(与运行时版本相同)nodenpmnpxyarn(v1)pnpmgittargzip
构建器内的所有 JavaScript 都使用 Deno 执行。
node 命令实际上是一个垫片,它将 Node.js 调用转换为 deno run。类似地,npm、npx、yarn 和 pnpm 也是通过 Deno 而不是 Node.js 运行的。
为“构建”上下文配置的环境变量在构建期间可用,但“生产”或“开发”上下文中的变量不可用。了解更多关于环境变量的信息。
构建器在构建过程中有 8 GB 的存储空间可用。