如何設定持續整合 (CI) 建置快取
為了提升建置效能,Next.js 會將快取儲存在 .next/cache
中,這些快取可在不同建置之間共享。
要在持續整合 (CI) 環境中利用此快取,您需要設定 CI 工作流程,以正確地在不同建置之間保留快取。
如果您的 CI 未設定為在不同建置之間保留
.next/cache
,您可能會看到 未偵測到快取 (No Cache Detected) 錯誤。
以下是常見 CI 供應商的快取設定範例:
Vercel
Next.js 快取會自動為您設定。您無需進行任何操作。如果您在 Vercel 上使用 Turborepo,請在此了解更多。
CircleCI
在 .circleci/config.yml
中編輯您的 save_cache
步驟,加入 .next/cache
:
如果您沒有 save_cache
鍵,請遵循 CircleCI 的設定建置快取文件。
Travis CI
在您的 .travis.yml
中加入或合併以下內容:
GitLab CI
在您的 .gitlab-ci.yml
中加入或合併以下內容:
Netlify CI
使用 Netlify Plugins 搭配 @netlify/plugin-nextjs
。
AWS CodeBuild
在您的 buildspec.yml
中加入(或合併)以下內容:
GitHub Actions
使用 GitHub 的 actions/cache,在您的工作流程檔案中加入以下步驟:
Bitbucket Pipelines
在您的 bitbucket-pipelines.yml
的頂層(與 pipelines
同層級)中加入或合併以下內容:
然後在管線 step
的 caches
區塊中引用它:
Heroku
使用 Heroku 的自訂快取,在您的頂層 package.json 中加入 cacheDirectories
陣列:
Azure Pipelines
使用 Azure Pipelines 的快取任務 (Cache task),在您的管線 yaml 檔案中,於執行 next build
的任務之前加入以下任務:
Jenkins (Pipeline)
使用 Jenkins 的 Job Cacher 外掛,在您的 Jenkinsfile
中通常執行 next build
或 npm install
的地方加入以下建置步驟: