Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.
Übersicht
Du kannst jobs.<job_id>.outputs
verwenden, um eine map
von Ausgaben für einen Auftrag zu erstellen. Ausgaben eines Jobs stehen allen nachgelagerten Jobs zur Verfügung, die von diesem Job abhängen. Weitere Informationen zum Definieren von Auftragsabhängigkeiten findest du unter jobs.<job_id>.needs
.
Ausgaben sind Unicode-Zeichenfolgen und können maximal 1 MB groß sein. Die Gesamtanzahl aller Ausgaben in einer Workflowausführung kann maximal 50 MB betragen.
Ausgaben von Aufträgen, die Ausdrücke enthalten, werden am Ende jedes Auftrags auf dem Runner ausgewertet. Ausgaben, die Geheimnisse enthalten, werden auf dem Runner zensiert und nicht an GitHub Actions gesendet.
Um Auftragsausgaben in einem abhängigen Auftrag zu verwenden, kannst du den needs
-Kontext verwenden. Weitere Informationen finden Sie unter Kontexte.
Hinweis: $GITHUB_OUTPUT
wird zwischen allen Schritten in einem Job geteilt. Wenn Sie denselben Ausgabenamen in mehreren Schritten verwenden, setzt der letzte Schritt zum Schreiben in die Ausgabe den Wert außer Kraft. Wenn Ihr Job eine Matrix verwendet und in $GITHUB_OUTPUT
schreibt, wird der Inhalt für jede Matrixkombination überschrieben. Sie können den matrix
Kontext verwenden, um eindeutige Ausgabenamen für jede Job-Konfiguration zu erstellen. Weitere Informationen finden Sie unter Kontexte.
Beispiel: Definieren von Ausgaben für einen Auftrag
jobs:
job1:
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
output1: ${{ steps.step1.outputs.test }}
output2: ${{ steps.step2.outputs.test }}
steps:
- id: step1
run: echo "test=hello" >> "$GITHUB_OUTPUT"
- id: step2
run: echo "test=world" >> "$GITHUB_OUTPUT"
job2:
runs-on: ubuntu-latest
needs: job1
steps:
- env:
OUTPUT1: ${{needs.job1.outputs.output1}}
OUTPUT2: ${{needs.job1.outputs.output2}}
run: echo "$OUTPUT1 $OUTPUT2"