Informationen zum Caching von Workflow-Abhängigkeiten
Workflow-Läufe verwenden häufig dieselben Ausgaben oder heruntergeladenen Abhängigkeiten in aufeinanderfolgenden Durchläufen. Tools zur Verwaltung von Paketen und Abhängigkeiten wie beispielsweise Maven, Gradle, npm und Yarn halten einen lokalen Cache mit heruntergeladenen Abhängigkeiten.
Um die Zeit zu beschleunigen, die zum Neu erstellen von Dateien wie Abhängigkeiten benötigt wird, können Sie Dateien zwischenspeichern, GitHub die Sie häufig in Workflows verwenden.
Artefakte im Vergleich zum Zwischenspeichern von Abhängigkeiten
Artefakte und Caching sind ähnlich, da sie die Möglichkeit bieten, Dateien auf GitHub zu speichern, aber die beiden Funktionalitäten bieten verschiedene Anwendungsfälle und dürfen nicht miteinander verwechselt werden.
- Verwende die Zwischenspeicherung, wenn du Dateien wiederverwenden möchtest, die sich zwischen Aufträgen oder Workflowausführungen nur selten verändern, zum Beispiel Buildabhängigkeiten aus einem Paketverwaltungssystem.
- Verwende Artefakte, wenn du von einem Auftrag generierte Dateien speichern möchtest, um diese nach einer Workflowausführung zu öffnen, zum Beispiel Binärdateien oder Buildprotokolle.
Weitere Informationen zu Artefakten von Workflowausführungen findest du unter Speichern und Freigeben von Daten mit Workflowartefakten.
Cachesicherheit
Caches werden basierend auf der Verzweigung oder dem Tag freigegeben, die eine Workflowausführung verwendet, nicht auf der Identität des Workflows oder Auftrags. Siehe Ereignisse zum Auslösen von Workflows und den GITHUB_REF für den Branch, der für verschiedene Workflow-Trigger verwendet wird. Jede Ausführung, die einen Cache lesen kann, stellt den Inhalt as-iswieder her. Daher sollten Sie wiederhergestellte Dateien als nicht vertrauenswürdige Eingaben behandeln und niemals Geheime oder andere vertrauliche Daten in einem Cache speichern.
Nicht vertrauenswürdige Workflows können sensible Inhalte des Caches lesen, z. B. wenn ein pull_request aus einem Fork einen Cache wiederherstellt. Vergiftete Caches können zur Codeausführung in vertrauenswürdigen Workflows führen. Um das Risiko einer Cachevergiftung zu begrenzen, gewährt GitHub Workflows, die als Reaktion auf Trigger mit geringem Vertrauensniveau ausgeführt werden, schreibgeschützten Zugriff auf Caches im Gültigkeitsbereich des Standard-Branches.
Ausführliche Informationen zum Cachebereich, Zugriffsbeschränkungen und bewährten Methoden für die sichere Verwendung von Caches finden Sie unter Referenz zum Zwischenspeichern von Abhängigkeiten.
Nächste Schritte
Informationen zum Implementieren des Zwischenspeicherns von Abhängigkeiten in deinen Workflows findest du unter Referenz zum Zwischenspeichern von Abhängigkeiten.