簡體   English   中英

如何構建 next.js 項目並將其手動部署到 Netlify?

[英]How to build a next.js project and deploy it MANUALLY to Netlify?

According to the docs, Netlify supports next.js through the Essential Build Plugin and manual deployments through a CLI command , but how can I use the two together to build a next.js project in my own CI and deploy only the build output to Netlify?

插件頁面提到了“鏈接”,即它假設項目是通過 Git 存儲庫連接並由 netlify 構建的,而不是由我自己的 CI 在本地構建的。

OK,終於搞定了。 將其包裝起來以防其他人發現它有用:

  • 安裝包netlify-cli@netlify/plugin-nextjs
  • 如插件 README 的節所述,在項目根目錄中創建netlify.toml (確保具有publishfunctions的路徑;服務器端渲染和 API 處理程序需要functions ;這兩個目錄將用於構建 output構建)
  • 如果使用 Git,請將路徑和.netlify (另一個“臨時”目錄)添加到.gitignore以從您的存儲庫中排除構建 output
  • 重要在以前/過時的 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 中)以繞過以后登錄和選址

安裝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_TOKENNETLIFY_SITE_ID環境變量

個人訪問令牌的 Netlify 用戶設置中手動生成訪問令牌 這也可以通過命令行來完成。 在終端設置或持續集成 (CI) 工具的 UI 中將令牌保存為NETLIFY_AUTH_TOKEN環境變量。

站點 ID 在 Netlify UI 中找到:Go 到站點設置 > 常規 > 站點詳細信息 > 站點信息,然后復制API ID的值,將 ID 分配給NETLIFY_SITE_ID環境變量。

這也可以通過netlify link命令來完成。


構建 Next.js 應用程序並將其部署到 Netlify

可以通過以下命令部署到生產環境:

netlify deploy --build --prod


文檔

更長的文章

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM