Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Teilen von Daten zwischen Aktionen in einem Workflow mithilfe von Artefakten
Ein Artefakt ist die Ausgabe einer Workflow-Aktion und besteht in der Regel aus einem Ordner oder Archiv mit Dateien. Artefakte sind wichtig, weil sie es Ihnen ermöglichen, Dateien und Informationen zwischen Aktionen gemeinsam zu nutzen.
Möglicherweise haben Sie eine Build-Aktion, die eine sam-template.yml
Datei generiert, Sie möchten jedoch, dass eine Bereitstellungsaktion diese verwendet. In diesem Szenario würden Sie ein Artefakt verwenden, um es der Build-Aktion zu ermöglichen, die sam-template.yml
Datei mit der Bereitstellungsaktion gemeinsam zu nutzen. Der Code könnte etwa so aussehen:
Actions:
BuildAction:
Identifier: aws/build@v1
Steps:
- Run: sam package --output-template-file sam-template.yml
Outputs:
Artifacts:
- Name: MYARTIFACT
Files:
- sam-template.yml
DeployAction:
Identifier: aws/cfn-deploy@v1
Inputs:
Artifacts:
- MYARTIFACT
Configuration:
template: sam-template.yml
Im vorherigen Code generiert die Build-Aktion (BuildAction
) eine sam-template.yml
Datei und fügt sie dann einem Ausgabeartefakt namens MYARTIFACT
hinzu. Eine nachfolgende Bereitstellungsaktion (DeployAction
) wird MYARTIFACT
als Eingabe angegeben, sodass sie auf die sam-template.yml
Datei zugreifen kann.
Kann ich Artefakte teilen, ohne sie als Ausgaben und Eingaben anzugeben?
Ja, Sie können Artefakte zwischen Aktionen gemeinsam nutzen, ohne sie in den Inputs
Abschnitten Outputs
und im YAML-Code Ihrer Aktionen anzugeben. Dazu müssen Sie Compute Sharing aktivieren. Weitere Informationen zu Compute Sharing und zur Angabe von Artefakten, wenn es aktiviert ist, finden Sie unterRechenleistung für mehrere Aktionen gemeinsam nutzen.
Anmerkung
Mit der Compute Sharing-Funktion können Sie zwar den YAML-Code Ihres Workflows vereinfachen, indem Sie die Inputs
Abschnitte Outputs
und und überflüssig machen, es bestehen jedoch Einschränkungen, die Sie beachten sollten, bevor Sie sie aktivieren. Informationen zu diesen Einschränkungen finden Sie unterÜberlegungen zur gemeinsamen Nutzung von Rechenleistung.
Kann ich Artefakte zwischen Workflows teilen?
Nein, Sie können Artefakte nicht zwischen verschiedenen Workflows gemeinsam nutzen. Sie können Artefakte jedoch zwischen Aktionen innerhalb desselben Workflows gemeinsam nutzen.
Themen
Definition eines Ausgabeartefakts
Verwenden Sie die folgenden Anweisungen, um ein Artefakt zu definieren, das von einer Aktion ausgegeben werden soll. Dieses Artefakt steht dann anderen Aktionen zur Verfügung.
Anmerkung
Nicht alle Aktionen unterstützen Ausgabeartefakte. Um festzustellen, ob Ihre Aktion sie unterstützt, führen Sie die folgenden Anweisungen für den visuellen Editor durch und prüfen Sie, ob die Aktion auf der Registerkarte Ausgaben die Schaltfläche Ausgabeartefakte enthält. Falls ja, werden Ausgabeartefakte unterstützt.
Definieren Sie ein Eingabeartefakt
Wenn Sie ein Artefakt verwenden möchten, das durch eine andere Aktion generiert wurde, müssen Sie es als Eingabe für die aktuelle Aktion angeben. Möglicherweise können Sie mehrere Artefakte als Eingabe angeben — das hängt von der Aktion ab. Weitere Informationen finden Sie unter YAML-Workflow-Definition Für Ihre Aktion.
Anmerkung
Sie können nicht auf Artefakte aus anderen Workflows verweisen.
Verwenden Sie die folgenden Anweisungen, um ein Artefakt aus einer anderen Aktion als Eingabe für die aktuelle Aktion anzugeben.
Voraussetzung
Bevor Sie beginnen, stellen Sie sicher, dass Sie das Artefakt aus der anderen Aktion ausgegeben haben. Weitere Informationen finden Sie unter Definition eines Ausgabeartefakts. Wenn Sie das Artefakt ausgeben, steht es anderen Aktionen zur Verfügung.
Referenzieren von Dateien in einem Artefakt
Wenn Sie über eine Datei verfügen, die sich in einem Artefakt befindet, und Sie in einer Ihrer Workflow-Aktionen auf diese Datei verweisen müssen, gehen Sie wie folgt vor.
Anmerkung
So verweisen Sie auf Dateien in einem Artefakt
-
Fügen Sie in der Aktion, in der Sie auf eine Datei verweisen möchten, Code hinzu, der dem folgenden ähnelt:
Actions: My-action: Inputs: Sources: - WorkflowSource Artifacts: -
artifact-name
Configuration: Steps: - run: cd $CATALYST_SOURCE_DIR_artifact-name
/build-output && cat file.txtIm vorherigen Code sucht die Aktion im
build-output
Verzeichnis imArtefaktnamen-Artefakt
nach der Datei und zeigt sie an.file.txt
Weitere Beispiele finden Sie unter Beispiele für Artefakte.
Anmerkung
Je nachdem, wie Sie Ihre Aktion konfiguriert haben, können Sie das
$CATALYST_SOURCE_DIR_
Präfix möglicherweise weglassen. Weitere Informationen finden Sie in der folgenden Anleitung.artifact-name
/Hinweise zur Bezugnahme auf Variablen:
-
Wenn Ihre Aktion nur ein Element unter umfasst
Inputs
(z. B. ein Eingabeartefakt und keine Quelle), können Sie das Präfix weglassen und nur den Dateipfad relativ zum Artefaktstamm angeben. -
Sie können das Präfix auch weglassen, wenn sich die Datei in der primären Eingabe befindet. Die primäre Eingabe ist entweder das oder das
WorkflowSource
erste aufgeführte Eingabeartefakt, falls es keines gibt.WorkflowSource
-
Das Präfix kann je nach der Aktion, die Sie verwenden, unterschiedlich sein. Weitere Informationen können Sie der folgenden Tabelle entnehmen.
-
Aktionstyp | Zu verwendendes Dateipfadpräfix | Beispiel |
---|---|---|
|
|
|
Alle anderen Aktionen |
or
|
or
|
Artefakte werden heruntergeladen
Sie können Artefakte, die durch Ihre Workflow-Aktionen generiert wurden, zur Fehlerbehebung herunterladen und untersuchen. Es gibt zwei Arten von Artefakten, die Sie herunterladen können:
-
Quellartefakte — Ein Artefakt, das einen Snapshot des Inhalts des Quell-Repositorys enthält, so wie er zu Beginn der Ausführung vorhanden war.
-
Workflow-Artefakte — Ein Artefakt, das in der
Outputs
Eigenschaft der Konfigurationsdatei Ihres Workflows definiert ist.
Um die vom Workflow ausgegebenen Artefakte herunterzuladen
Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/
. -
Wählen Sie Ihr Projekt.
Wählen Sie im Navigationsbereich CI/CD und dann Workflows aus.
-
Wählen Sie den Namen Ihres Workflows. Sie können nach dem Quell-Repository oder dem Branch-Namen filtern, in dem der Workflow definiert ist, oder nach dem Workflow-Namen filtern.
-
aWählen Sie unter dem Namen des Workflows die Option Runs aus.
-
Wählen Sie im Ausführungsverlauf in der Spalte Lauf-ID einen Lauf aus. z. B.
Run-95a4d
. -
Wählen Sie unter dem Namen des Laufs die Option Artifacts aus.
-
Wähle neben einem Artefakt die Option Herunterladen aus. Eine Archivdatei wird heruntergeladen. Ihr Dateiname besteht aus sieben zufälligen Zeichen.
-
Extrahieren Sie das Archiv mit einem Archivextraktionsprogramm Ihrer Wahl.
Beispiele für Artefakte
Die folgenden Beispiele zeigen, wie Artefakte in der Workflow-Definitionsdatei ausgegeben, eingegeben und referenziert werden.
Themen
- Beispiel: Ein Artefakt ausgeben
- Beispiel: Eingabe eines Artefakts, das durch eine andere Aktion generiert wurde
- Beispiel: Referenzieren von Dateien in mehreren Artefakten
- Beispiel: Referenzieren einer Datei in einem einzigen Artefakt
- Beispiel: Verweisen auf eine Datei in einem Artefakt, wenn a vorhanden ist WorkflowSource
Beispiel: Ein Artefakt ausgeben
Das folgende Beispiel zeigt, wie ein Artefakt ausgegeben wird, das zwei .jar-Dateien enthält.
Actions:
Build:
Identifier: aws/build@v1
Outputs:
Artifacts:
- Name: ARTIFACT1
Files:
- build-output/file1.jar
- build-output/file2.jar
Beispiel: Eingabe eines Artefakts, das durch eine andere Aktion generiert wurde
Das folgende Beispiel zeigt Ihnen, wie Sie ein aufgerufenes Artefakt ausgeben und ARTIFACT4
in BuildActionA
dieses eingeben. BuildActionB
Actions:
BuildActionA:
Identifier: aws/build@v1
Outputs:
Artifacts:
- Name: ARTIFACT4
Files:
- build-output/file1.jar
- build-output/file2.jar
BuildActionB:
Identifier: aws/build@v1
Inputs:
Artifacts:
- ARTIFACT4
Configuration:
Beispiel: Referenzieren von Dateien in mehreren Artefakten
Das folgende Beispiel zeigtBuildActionC
, wie Sie zwei Artefakte mit dem Namen ART5
und ART6
in ausgeben und dann auf zwei Dateien mit den Namen file5.txt
(in ArtifactART5
) und file6.txt
(in ArtifactART6
) in BuildActionD
(unterSteps
) verweisen.
Anmerkung
Weitere Informationen zum Referenzieren von Dateien finden Sie unter. Referenzieren von Dateien in einem Artefakt
Anmerkung
Das Beispiel zeigt zwar, dass das $CATALYST_SOURCE_DIR_ART5
Präfix verwendet wird, Sie könnten es aber weglassen. Das liegt daran, dass ART5
es die primäre Eingabe ist. Weitere Informationen zur primären Eingabe finden Sie unterReferenzieren von Dateien in einem Artefakt.
Actions:
BuildActionC:
Identifier: aws/build@v1
Outputs:
Artifacts:
- Name: ART5
Files:
- build-output/file5.txt
- Name: ART6
Files:
- build-output/file6.txt
BuildActionD:
Identifier: aws/build@v1
Inputs:
Artifacts:
- ART5
- ART6
Configuration:
Steps:
- run: cd $CATALYST_SOURCE_DIR_ART5/build-output && cat file5.txt
- run: cd $CATALYST_SOURCE_DIR_ART6/build-output && cat file6.txt
Beispiel: Referenzieren einer Datei in einem einzigen Artefakt
Das folgende Beispiel zeigt, wie Sie ein Artefakt mit dem Namen ART7
in BuildActionE
ausgeben und dann auf file7.txt
(im ArtefaktART7
) in BuildActionF
(unter) verweisen. Steps
Beachten Sie, dass die Referenz nicht das Präfix für den $CATALYST_SOURCE_DIR_
Artefaktnamen
vor dem build-output
Verzeichnis benötigt, wie dies in der Fall war. Beispiel: Referenzieren von Dateien in mehreren Artefakten Dies liegt daran, dass unter nur ein Element angegeben ist. Inputs
Anmerkung
Weitere Informationen zum Verweisen auf Dateien finden Sie unterReferenzieren von Dateien in einem Artefakt.
Actions:
BuildActionE:
Identifier: aws/build@v1
Outputs:
Artifacts:
- Name: ART7
Files:
- build-output/file7.txt
BuildActionF:
Identifier: aws/build@v1
Inputs:
Artifacts:
- ART7
Configuration:
Steps:
- run: cd build-output && cat file7.txt
Beispiel: Verweisen auf eine Datei in einem Artefakt, wenn a vorhanden ist WorkflowSource
Das folgende Beispiel zeigt, wie Sie ein Artefakt mit dem Namen ART8
in BuildActionG
ausgeben und dann auf file8.txt
(in ArtefaktART8
) in BuildActionH
(unter) verweisen. Steps
Beachten Sie, dass für die Referenz das Präfix für den $CATALYST_SOURCE_DIR_
Artefaktnamen
erforderlich ist, wie in. Beispiel: Referenzieren von Dateien in mehreren Artefakten Das liegt daran, dass unter Inputs
(eine Quelle und ein Artefakt) mehrere Elemente angegeben sind. Sie benötigen also das Präfix, um anzugeben, wo nach der Datei gesucht werden soll.
Anmerkung
Weitere Informationen zum Verweisen auf Dateien finden Sie unter. Referenzieren von Dateien in einem Artefakt
Actions:
BuildActionG:
Identifier: aws/build@v1
Outputs:
Artifacts:
- Name: ART8
Files:
- build-output/file8.txt
BuildActionH:
Identifier: aws/build@v1
Inputs:
Sources:
- WorkflowSource
Artifacts:
- ART8
Configuration:
Steps:
- run: cd $CATALYST_SOURCE_DIR_ART8/build-output && cat file8.txt