如何构建 next.js 项目并将其手动部署到 Netlify?

问题描述 投票:0回答:3

根据文档,Netlify 通过 Essential Build Plugin 支持 next.js,并通过 CLI 命令 进行手动部署,但是我如何将两者一起使用来在我自己的 CI 中构建 next.js 项目并仅进行部署构建输出到 Netlify?

插件页面提到了“链接”,即它假设该项目是通过 Git 存储库连接并由 netlify 构建的,而不是由我自己的 CI 在本地构建的。

next.js netlify netlify-cli
3个回答
3
投票

好的,终于成功了。将其包装起来以防其他人发现它有用:

  • 安装软件包
    netlify-cli
    @netlify/plugin-nextjs
  • 在项目根目录中创建
    netlify.toml
    ,如插件自述文件的this部分所述(确保具有
    publish
    functions
    的路径;服务器端渲染和API处理程序需要
    functions
    ;这两个目录都将用于构建期间的构建输出)
  • 如果使用 Git,请将两个路径和
    .netlify
    (另一个“临时”目录)添加到
    .gitignore
    以从存储库中排除构建输出
  • 重要(在前一个/过时的 next-on-netlify 项目的文档中找到了信息,没有这个就无法部署):将 target: "experimental-serverless-trace"
     添加到 
    next.config.js
    
    
  • 对于初始设置:
  • netlify login
    到您的帐户,运行
    netlify deploy --build
    一次,选择一个站点名称
  • 如果您想在 CI 中运行部署,请配置环境变量
  • NETLIFY_AUTH_TOKEN
    (使用 Netlify UI 中的“个人访问令牌”)和 
    NETLIFY_SITE_ID
    (选择名称并成功完成第一个任务后显示在 Netlify UI 中)成功部署)以绕过将来的登录和站点选择

2
投票
安装

netlify-cli
@netlify/plugin-nextjs

yarn add -D @netlify/plugin-nextjs yarn add -D @netlify/plugin-nextjs


设置

netlify.toml
文件

[[plugins]] package = "@netlify/plugin-nextjs" [build] command = "yarn next build" publish = ".next"


配置

NETLIFY_AUTH_TOKEN
NETLIFY_SITE_ID
 环境变量

在 Netlify 用户设置中手动生成

个人访问令牌的访问令牌。这也可以通过命令行来完成。将令牌保存为终端设置或持续集成 (CI) 工具 UI 中的 NETLIFY_AUTH_TOKEN

 环境变量。

站点 ID 可在 Netlify UI 中找到:转到站点设置 > 常规 > 站点详细信息 > 站点信息,然后复制

API ID 的值,将该 ID 分配给 NETLIFY_SITE_ID

 环境变量。这也可以通过 
netlify link 命令来完成。


构建 Next.js 应用程序并将其部署到 Netlify

netlify deploy --build --prod



文档

  • https://docs.netlify.com/configure-builds/file-based-configuration/
  • https://github.com/netlify/netlify-plugin-nextjs
  • https://docs.netlify.com/cli/get-started/#run-builds-locally
  • https://docs.netlify.com/cli/get-started/#manual-deploys
较长的文章

https://paulonteri.com/thoughts/deploy-nextjs-to-netlify-manually


0
投票
对我来说,构建无法正常工作,因为我忘记了

选择 Next.js 的运行时。然后只需清理缓存即可构建。

© www.soinside.com 2019 - 2024. All rights reserved.