Remote-Quellen und OG-Bilder cachen
Öffentliche Repository-Downloads und gerenderte Social Cards sicher zwischen CI-Builds wiederverwenden.
Content-Downloads und gerenderte OG-Bilder können einen kurzlebigen CI-Runner überdauern. Sie haben unterschiedliche Invalidierungsregeln und deshalb je ein eigenes duxt-Kommando.
Öffentliche Remote-Quellen
- id: sources
run: duxt-cache-key --root . --github >> "$GITHUB_OUTPUT"
- if: steps.sources.outputs.cacheable == 'true'
uses: actions/cache@v6
with:
path: ${{ steps.sources.outputs.paths }}
key: ${{ steps.sources.outputs.key }}
--root nennt die konsumierende Nuxt-App. Das Kommando läuft nach der
Installation und vor dem Build. Sein Key enthält die aufgelösten Repositories
und Refs; contents.sqlite* bleibt ausgeschlossen, weil es ein Parsergebnis und
kein Download ist. Schon eine private, SSH- oder authentifizierte Quelle setzt
cacheable=false für die gesamte Liste. Ohne --github zeigt das Kommando die
redigierten Eingaben und den Grund.
Gerenderte OG-Bilder
- id: og
run: duxt-og-cache --root . --run "$GITHUB_SHA" --github >> "$GITHUB_OUTPUT"
- uses: actions/cache@v6
with:
path: ${{ steps.og.outputs.path }}
key: ${{ steps.og.outputs.key }}
restore-keys: ${{ steps.og.outputs['restore-keys'] }}
Die konsumierende Nuxt-Konfiguration bindet zusätzlich
@kirchdev/duxt/og-image-cache ein und fingerprintet Theme-Optionen, Fonts und
Renderer-Versionen. Geänderte Eingaben leeren einen wiederhergestellten Cache,
bevor ein altes Bild ausgeliefert werden kann. Nach dem Build berichtet
duxt-og-cache --root . --report --since "$STARTED_MS" --log build.log die
tatsächliche Wiederverwendung.
Checkliste
-
--rootzeigt auf die konsumierende App. - Der Source-Cache läuft nur bei
cacheable == 'true'. -
contents.sqlite*und private Quellen gelangen nicht in den Cache. - Der OG-Cache verwendet die ausgegebenen Rolling Restore Keys.
- Die Nuxt-Konfiguration fingerprintet site-eigene Rendering-Eingaben.