【发布时间】:2022-09-21 23:00:05
【问题描述】:
我正在使用 AsyncAPI 从 .yaml 文件生成 HTML 文件,用于我的项目中的文档 - 我想在 Vercel 上托管此文档,但是只要该文件在我的项目中使用 GitHub 操作,以便每次推送更改或合并 PR 时,它都会在 Vercel 中重新部署。解决此问题的最佳方法是什么?
【问题讨论】:
我正在使用 AsyncAPI 从 .yaml 文件生成 HTML 文件,用于我的项目中的文档 - 我想在 Vercel 上托管此文档,但是只要该文件在我的项目中使用 GitHub 操作,以便每次推送更改或合并 PR 时,它都会在 Vercel 中重新部署。解决此问题的最佳方法是什么?
【问题讨论】:
最简单的方法是从 Vercel 上下文中触发一个简单的脚本。当提交新的提交时,Vercel 运行给定的脚本来生成文档并部署这一代的输出。
因此,我将创建一个简单的私有 NodeJS 包,其中包含 @asyncapi/generator 和 @asyncapi/html-template 依赖项,然后通过管理站点上的 UI 或通过 vercel.js 文件配置 Vercel:
package.json:
{
"devDependencies": {
"@asyncapi/generator": "^1.9.11",
"@asyncapi/html-template": "^0.25.2"
},
"scripts": {
"build": "./node_modules/.bin/asyncapi-generator {PATH_TO_SPEC} @asyncapi/html-template -o {OUTPUT_FOLDER} --force-write ...{OTHER_PARAMS}"
}
}
vercel.json:
{
"buildCommand": "npm run build",
"outputDirectory": "{OUTPUT_FOLDER}"
}
我还没有测试过,但我会朝那个方向走 :) 当然生成的 html 文件应该是index.html。
【讨论】: