Konfiguration von Continuous Integration (CI) Build-Caching
Um die Build-Leistung zu verbessern, speichert Next.js einen Cache in .next/cache
, der zwischen Builds gemeinsam genutzt wird.
Um diesen Cache in Continuous Integration (CI)-Umgebungen nutzen zu können, muss Ihr CI-Workflow so konfiguriert werden, dass der Cache zwischen Builds korrekt beibehalten wird.
Wenn Ihr CI nicht so konfiguriert ist, dass
.next/cache
zwischen Builds beibehalten wird, kann es zu einem No Cache Detected-Fehler kommen.
Hier sind einige Beispielkonfigurationen für gängige CI-Anbieter:
Vercel
Das Caching für Next.js wird automatisch für Sie konfiguriert. Es sind keine weiteren Aktionen erforderlich. Wenn Sie Turborepo auf Vercel verwenden, finden Sie hier weitere Informationen.
CircleCI
Bearbeiten Sie Ihren save_cache
-Schritt in .circleci/config.yml
, um .next/cache
einzubeziehen:
Wenn Sie keinen save_cache
-Schlüssel haben, folgen Sie bitte der CircleCI-Dokumentation zum Einrichten von Build-Caching.
Travis CI
Fügen Sie Folgendes in Ihre .travis.yml
ein oder mergen Sie es:
GitLab CI
Fügen Sie Folgendes in Ihre .gitlab-ci.yml
ein oder mergen Sie es:
Netlify CI
Verwenden Sie Netlify Plugins mit @netlify/plugin-nextjs
.
AWS CodeBuild
Fügen Sie Folgendes in Ihre buildspec.yml
ein oder mergen Sie es:
GitHub Actions
Verwenden Sie GitHubs actions/cache und fügen Sie den folgenden Schritt in Ihre Workflow-Datei ein:
Bitbucket Pipelines
Fügen Sie Folgendes auf oberster Ebene (gleiche Ebene wie pipelines
) in Ihre bitbucket-pipelines.yml
ein oder mergen Sie es:
Verweisen Sie dann im caches
-Abschnitt Ihres Pipeline-steps
darauf:
Heroku
Verwenden Sie Herokus custom cache und fügen Sie ein cacheDirectories
-Array in Ihrer Top-Level-package.json hinzu:
Azure Pipelines
Verwenden Sie Azure Pipelines' Cache task und fügen Sie die folgende Aufgabe in Ihre Pipeline-YAML-Datei ein, und zwar vor der Aufgabe, die next build
ausführt:
Jenkins (Pipeline)
Verwenden Sie das Job Cacher-Plugin von Jenkins und fügen Sie den folgenden Build-Schritt in Ihre Jenkinsfile
ein, normalerweise dort, wo Sie next build
oder npm install
ausführen würden: