Continuous Integration (CI) Build Caching
Um die Build-Leistung zu verbessern, speichert Next.js einen Cache in .next/cache
, der zwischen Builds geteilt wird.
Um diesen Cache in Continuous Integration (CI)-Umgebungen zu nutzen, muss Ihr CI-Workflow so konfiguriert werden, dass der Cache zwischen den Builds korrekt beibehalten wird.
Wenn Ihr CI nicht so konfiguriert ist, dass
.next/cache
zwischen den Builds beibehalten wird, kann ein Kein Cache erkannt-Fehler auftreten.
Hier sind einige Beispiel-Cache-Konfigurationen für gängige CI-Anbieter:
Vercel
Next.js-Caching ist automatisch für Sie konfiguriert. Es ist keine Aktion Ihrerseits erforderlich. Wenn Sie Turborepo auf Vercel verwenden, erfahren Sie hier mehr.
CircleCI
Bearbeiten Sie Ihren save_cache
-Schritt in .circleci/config.yml
, um .next/cache
einzuschließen:
Wenn Sie keinen save_cache
-Schlüssel haben, folgen Sie bitte der Dokumentation von CircleCI zum Einrichten von Build-Caching.
Travis CI
Fügen Sie Folgendes zu Ihrer .travis.yml
hinzu oder führen Sie es zusammen:
GitLab CI
Fügen Sie Folgendes zu Ihrer .gitlab-ci.yml
hinzu oder führen Sie es zusammen:
Netlify CI
Verwenden Sie Netlify Plugins mit @netlify/plugin-nextjs
.
AWS CodeBuild
Fügen Sie (oder führen Sie zusammen) Folgendes zu Ihrer buildspec.yml
hinzu:
GitHub Actions
Verwenden Sie GitHub's actions/cache, fügen Sie den folgenden Schritt in Ihrer Workflow-Datei hinzu:
Bitbucket Pipelines
Fügen Sie Folgendes zu Ihrer bitbucket-pipelines.yml
auf oberster Ebene hinzu (auf gleicher Ebene wie pipelines
):
Referenzieren Sie es dann im caches
-Abschnitt des step
Ihrer Pipeline:
Heroku
Verwenden Sie Heroku's benutzerdefinierten Cache, fügen Sie ein cacheDirectories
-Array in Ihrer Top-Level-package.json hinzu:
Azure Pipelines
Verwenden Sie Azure Pipelines' Cache-Task, fügen Sie die folgende Task in Ihrer Pipeline-yaml-Datei hinzu, bevor die Task ausgeführt wird, die next build
ausführt:
Jenkins (Pipeline)
Verwenden Sie das Job Cacher-Plugin von Jenkins, fügen Sie den folgenden Build-Schritt zu Ihrer Jenkinsfile
hinzu, wo Sie normalerweise next build
oder npm install
ausführen würden: