我真的在寻找一种(简单、直接的)方法来从现有的私有 Gitlab 存储库部署 next.js 应用程序并将完成的构建管道部署到 Vercel,但无需上传我的源代码或在他们的系统上运行构建;只是之前“构建”的 next.js 包。
除了不适合此处的流行存储库集成之外,它们还提供用于手动发布的 CLI tool 和 HTTP API。
然而,CLI 工具似乎也将整个存储库推送到 Vercel,并且不会部署任何东西,除非提供了诸如“安装模块的命令”等构建时信息。
API 有据可查,但我想它的工作方式是一样的,我找不到解释我需要选择哪些文件进行上传的示例(这需要文件的“列表”)。< /p>
答案 0 :(得分:0)
在他们的文档中看起来像一个两步过程,一次调用 POST /v2/now/files
上传资产,然后 POST /v12/now/deployments
从这些资产创建部署。
只需在您的构建管道中运行一个异步函数,并通过对 Vercel 的几个 await 调用,您就应该设置好了。超级简化的示例,但如果您构建客户端和处理程序,我认为它或多或少应该是这样的:
// Assumes you put together a Vercel REST client and used the above endpoints
import { vercelClient } from '../lib/clients'
import { postFiles, createDeployment } from '../lib/handlers'
async function deployToVercel(files) {
let errors
await postFiles({ payload: files }).catch(err => { errors = err }
await createDeployment({ moreSettings: here }).catch(err => { errors = err }
}