Informationen zu Workflow-Artefakten
Ein Artefakt ist eine Datei oder eine Dateisammlung, die während einer Workflow-Ausführung erstellt wird. Artefakte erlauben es dir, Daten nach dem Job-Abschluss abzuspeichern und diese Daten an einen anderen Job im selben Workflow weiterzugeben. Zum Beispiel kannst du Artefakte verwenden, um deine Build- und Testausgabe zu speichern, nachdem ein Workflow-Lauf beendet ist.
GitHub stellt zwei Aktionen bereit, die du zum Hochladen und Herunterladen von Buildartefakten verwenden kannst: upload-artifact und download-artifact.
Zu den gängigen Artefakten gehören:
- Protokolldateien und Coredumps
- Testergebnisse, Fehler und Screenshots
- Binäre oder komprimierte Dateien
- Ergebnisse zur Stresstest-Leistungsausgabe und Codeabdeckung
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 jede Funktion ist für unterschiedliche Anwendungsfälle vorgesehen und sie können nicht austauschbar verwendet werden.
- Verwenden Sie die Zwischenspeicherung, wenn Sie Dateien wiederverwenden möchten, die sich nicht häufig zwischen Workflowausführungen ändern, z. B. Abhängigkeiten, die von einem Paketverwaltungssystem heruntergeladen wurden, Zwischenbuildausgaben oder andere Dateien, die teuer zum Generieren sind. Durch das Zwischenspeichern dieser Dateien kann die Ausführung des Workflows beschleunigt werden. Ein Auftrag sollte jedoch immer in der Lage sein, diese Dateien erneut herunterzuladen oder neu zu generieren, wenn kein Cache verfügbar ist.
- Verwenden Sie Artefakte, wenn Sie Dateien speichern möchten, die von einem Auftrag erstellt wurden, um sie zu verwenden oder anzuzeigen, nachdem eine Workflowausführung beendet wurde, z. B. erstellte Binärdateien oder Buildprotokolle, oder wenn Sie Dateien zwischen Aufträgen in einem Workflow übergeben möchten.
Weitere Informationen zum Zwischenspeichern von Abhängigkeiten findest du unter Referenz zum Zwischenspeichern von Abhängigkeiten.
Generieren von Artefaktnachweisen für Builds
Mit Artefaktbescheinigungen können Sie fälschungssichere Herkunfts- und Integritätsgarantien für die von Ihnen entwickelte Software erstellen. Personen, die Ihre Software nutzen, können wiederum überprüfen, wo und wie Ihre Software erstellt wurde.
Wenn Sie Artefaktenachweise mit Ihrer Software generieren, erstellen Sie kryptografisch signierte Ansprüche, die die Provenienz Ihres Builds einrichten und die folgenden Informationen enthalten:
- Eine Verknüpfung mit dem Workflow, der dem Artefakt zugeordnet ist
- Das Repository, die Organisation, die Umgebung, der Commit-SHA und das auslösende Ereignis für das Artefakt
- Andere Informationen aus dem OIDC-Token, die zur Feststellung der Herkunft verwendet werden. Weitere Informationen finden Sie unter OpenID Connect.
Sie können auch Artefaktnachweise generieren, die eine zugeordnete Software-Stückliste (SBOM) enthalten. Das Zuordnen Ihrer Builds zu einer Liste der darin verwendeten Open Source-Abhängigkeiten bietet Transparenz und ermöglicht es Verbrauchern, Datenschutzstandards einzuhalten.
Nach der Ausführung eines Builds können Sie unterhalb der Liste der Artefakte, die der Build erzeugt hat, auf die Bescheinigungen zugreifen.
Weitere Informationen finden Sie unter Verwenden von Artefaktnachweisen zur Ermittlung der Herkunft von Builds.
Artefakte aus gelöschten Workflowausführungen
Wenn eine Workflowausführung gelöscht wird, werden alle Artefakte, die der Ausführung zugeordnet sind, ebenfalls aus dem Speicher gelöscht. Du kannst einen Workflow löschen, der mit der GitHub Actions-Benutzeroberfläche, der REST-API oder der GitHub-CLI ausgeführt wird: Eine Workflowausführung löschen, Löschen einer Workflowausführung oder gh run delete.