如何将预先构建的 next.js 应用程序部署到 Vercel(不集成 Git)?

时间:2021-04-26 13:49:09

标签: next.js vercel

我真的在寻找一种(简单、直接的)方法来从现有的私有 Gitlab 存储库部署 next.js 应用程序并将完成的构建管道部署到 Vercel,但无需上传我的源代码或在他们的系统上运行构建;只是之前“构建”的 next.js 包。

除了不适合此处的流行存储库集成之外,它们还提供用于手动发布的 CLI toolHTTP API

然而,CLI 工具似乎也将整个存储库推送到 Vercel,并且不会部署任何东西,除非提供了诸如“安装模块的命令”等构建时信息。

API 有据可查,但我想它的工作方式是一样的,我找不到解释我需要选择哪些文件进行上传的示例(这需要文件的“列表”)。< /p>

1 个答案:

答案 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 }
}