@defrex/autobuild-hosted-dispatcher
让主机部署的可选软件包拥有调度内核: a
认证的终点 GET /api/dispatch 运行一个有界调度器
勾选每个配置的仓库。 它驱动同一个核心
abDispatch 本地切入点 ab dispatch --once --repository <origin>
通行证 -- -- 债权、供应、发射、观察、结算、合并公关、看门人、,
租赁扫描——和再利用 @defrex/autobuild-hosted-store-service已验证
存储签名密钥的环境。 见
自主办指南
用于日程安排、功能持续时间和延后。 自宿无人支持
和买家小心.
通过安装软件包和安装
路径: Next.js app's app/api/dispatch/route.ts (在主机商店)
成套服务)进口 dispatcherEndpoint 从
@defrex/autobuild-hosted-dispatcher/runtime 并保留模块镜
举个例子 只有一个主机状态的部署不会安装,永远不会
尝试一个调度符。 软件包对等器打开 @defrex/autobuild (核心内容)
它驱动)和 @defrex/autobuild-hosted-store-service (环境)
解析器和类型; 安装它的部署
bun add @defrex/autobuild-hosted-dispatcher。 。 。 .
除了端点驱动器, 软件包拥有部署时间
ab-hosted-dispatcher bin,也导出为
@defrex/autobuild-hosted-dispatcher/bin组合部署没有
bun 或源树在运行时, 所以建筑必须携带一切
调度功能安装并加载. bin对此有两个命令:
pack-distribution [--root DIR]之前运行next build,将安装的包装@defrex/autobuild输入<root>/.autobuild-dist/autobuild-<version>.tgz。 。 。 . 它从其他版本中删除了遗留下来的档案.ship-deployment [--root DIR] [--dist-dir DIR] [--plugin NAME]...之后运行next build,将归档和分布表附加到/api/dispatch路由的下一个. js追踪。 然后开始部署 Git( 见 已装运的吉特)和每个选定的供应商插件进入 函数捆绑。 它的建设失败, 命名缺失的棋子, 当它 无法传送归档、表单、 Git 或所选插件,并且当 归档版本与已安装版本不同@defrex/autobuild。 。 。 .
主机店服务发布 ab-hosted-service-build 运行两个
此软件包安装时自动命令.
已装运的吉特
节点操作( snapshoting a node's parent, rescacking, 证明一个变化是
现在,着陆)跑 git 在发送函数中的赤克隆。 这个
Vercel 函数运行时间没有 git因此,部署舰只本身:
ship-deployment 复制主机的 Git 输入 <root>/.autobuild-git/
并把它加进 /api/dispatch 捆绑,大约55MB。 这棵树是
自装: Git, 它的 HTTPS 远程助手, 完整的共享图书馆
关闭包括 glibc 和动态加载器,以及一个 CA 捆绑 .
- 站点. 目标是
linux-x64,而建造主机必须是一个,因为 Vercel的建筑形象是。 在任何其他主机上ship-deployment失败, 命名 两个平台。 当主机缺乏时也会失败git, (中文(简体) ),ldd,吉特的HTTPS(英语:HTTPS) 帮助或 CA 捆绑,或当库无法解决时. - 建造时证. 每个阶段的程序都被静态检查以加载
只从树上。 之后,这栋大楼用空置的吉特
PATH, (中文(简体) ), 在回转时复制到 HTTP, 如果从构建中加载到任何信息则失败 主持人。 构建日志报告 Git 和 glibc 版本, 大小 Git 添加 和调度功能的总数. - 运行时间合同. 一个x86 64 Linux 内核至少与捆绑一样新
glibc 支持(记录在清单中,当前glibc为3.2)和 a
可写
/tmp。每个函数实例将树复制到固定/tmp/abg…路径在它的第一个 Git 命令之前一次. - 相隔无相. 一个勾选的每个内核 Git 命令运行已运出 Git 的
其自己的库,没有系统或全局的 Git 配置, HTTPS 是唯一的
运输,所以它从来没有启动一个主机程序. 内核外壳管道到达
它通过一个
git炮弹上的发射器PATH应用树的 库到 Git , 所以 shell 和其他主机程序保留 主持人的。 滴答日志行说kernelGit=shipped:<version>,或kernelGit=host-path (<reason>)当 无法使用树 .
如果 Git 仍然无法运行, 调度员会记录一个
dispatcher.kernel-git-unavailable 寄存器事件,节点工作等待,以及
dispatcher.kernel-git-recovered 一旦克隆成功,则关闭条件.
哪个提供者插件传送
第一条适用的规则决定:
ship-deployment --plugin NAME旗帜.- 部署
package.json字段"autobuild": { "plugins": [...] }。 。 。 . 明确[]没有船. - 默认情况下,部署的每个条目
dependencies已经安装的package.json声明@defrex/autobuild内peerDependencies,作为 供应商插件是。 默认跳过 Autubuild 自己的服务包 :@defrex/autobuild-hosted-store-service, (中文(简体) ),@defrex/autobuild-hosted-dispatcher财务报告和审定财务报表@defrex/autobuild-postgres-store。 。 。 .
每个被选中的软件包必须在部署中安装并捆绑. 它的捆绑还必须评估到有效的插件清单 。 失败 构建,命名软件包和选择软件包的规则。 大楼 导入每个捆绑一次以验证它, 因此插件中的顶级代码运行 在建造期间.
一个自成一体的插件船 bun build 已装入
node_modules/<plugin> 在安装的内 @defrex/autobuild 目录.
当发送运行时间解决插件时, 这是第一个看起来的地方
从它的安装。 部署中自己安装的插件副本是
从未修改。 本地建筑没有 VERCEL 设置去除已播放的捆绑
后来,所以 node_modules 保持原样 bun install 离开它.
调度器环境变量
调度器变量( 只有服务器, 像每个秘密一样; 没有到达浏览器) :
AB_DISPATCHER_ORIGIN: 部署的公共来源,用作AB_STORE给内核、主机票源和客人 绝对https(s) 来源; 生产中所需的https.AB_DISPATCHER_REPOSITORIES: 逗号分离的寄存器 按配置顺序选择,并与当前持久工程相交 登记。 当未设定时, 每个授权引用查询都会激活 登记。 空登记册是成功的零项目勾选 。 删除 项目停止后续的勾选,而不取消已经开始的工作. 登记失败未能结案。 配置AB_POSTGRES_URL或者说DATABASE_URL· ; 登记册库在每次引用时都会重复使用. 每次援引都使被包容和被排斥者的持久安置同步 发送前已注册的项目; 同步失败防止 项目的调度。 项目读取在第一克龙之前发布相同的选择. 未设置或空白CRON_SECRET禁用主机责任; 读取发布hosted: false不需要来源.AB_DISPATCHER_BUDGET_SECONDS:每次调用工作预算(默认240, 夹了10 -780; 与路线的配对maxDuration一、导 言 自主办指南。 。 。 .AB_DISPATCHER_TOKEN_TTL_SECONDS: 存储的证书上方绑定 寿命( 默认为 604800 — 7天; 最少为 360天) 实际期满上限为 引用期限加60秒。 成功和失败的勾选删除 其确切的证书; 产地建造和收获使用独立赠款 由耐用生命周期的事实退休。 每个已服务仓库最多可浏览 每滴100个已过期/已撤销调度列. 保留未过期的行 (b) 所有人证书不受影响.CRON_SECRET:克龙授权共享秘密. 未设置或空白禁用 终点完全。 它从来不是签名输入,与AB_STORE_SECRET。 。 。 .GITHUB_TOKEN或者说GH_TOKEN: 共享伪造证书 其出版结算)的使用. 他们继续服务,客人从不 接受一个.AB_DISPATCHER_GITHUB_TOKENS: 可选的每个仓库伪造证书 覆盖 — 一个 JSON 对象映射寄存器身份到 GitHub 令牌 材料,例如:.{"https://github.com/acme/one":"github_pat_…","[email protected]:acme/two.git":"ghp_…"}。 。 。 . 密钥接受与寄存器集相同的拼写并必须指定一个已发送 寄存器; 带有超文本认证其调度器的寄存器 与该标志(两者)GITHUB_TOKEN财务报告和审定财务报表GH_TOKEN),所有其他存储器 保留共享GITHUB_TOKEN编号 :GH_TOKEN。未设置表示只共享,并且 a 没有失败的寄存器 与本地的检出模式不同的是 调度员 键 从未出现在日志、回复或文物中; 服务器只像每一个秘密一样 见上文.- 来宾前置变量,如
AI_GATEWAY_API_KEY流经 向来宾会场提供的服务环境未受影响. AB_DISTRIBUTION_ARCHIVE: 客机分发的可选明确路径 存档 。 未设置, 内核使用归档ab-hosted-dispatcher pack-distribution致.autobuild-dist/期间 部署结构(对捆绑部署的要求,没有bun在运行时打包.
Sandbox SDK 认证了内部部署的 OIDC 身份
Vercel函数( x-vercel-oidc-token 请求头,转发到
内核为 VERCEL_OIDC_TOKEN 说到滴答) 没有 VERCEL_TOKEN
属于服务每一援引保证书a
dispatcher-effective-config 仓库文物和耐久的勾/运行事实
下划线 hosted-dispatcher-<uuid> 运行 id —— 托管的网络仪表板显示
活动与显示的本地调度员完全一致。 仓库日记
事件每寄存器大约每分钟增长一滴;
运行/配置文物本身是保留范围——商店保存
每件发件人文物的最新200件订正件和旧订正件
存款时间,最高 AB_ARTIFACT_RETENTION_MAX_REVISIONS。 。 。 .
通过部署数据库授权管理项目
ab-hosted-store projects list|add|remove 命令(需要修改)
--user IDENTITY; 见 相关项目。 。 。 .
在部署前移走 PostgreSQL 。 折旧 AB_WEB_REPOSITORIES 种子
每个数据库登记一次,包括独立的调度员部署;
其后的修改不是行政管理。 Forge 令牌覆盖密钥为
急切确认 在倒置模式中,被删除的工程的覆被是惰性的; a
明确的仓库选择仍然拒绝未知的密钥.