Eingabe- und Ausgabe-Artefakte - AWS CodePipeline

View a markdown version of this page

Eingabe- und Ausgabe-Artefakte - AWS CodePipeline

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.

Eingabe- und Ausgabe-Artefakte

CodePipeline lässt sich in Entwicklungstools integrieren, um nach Codeänderungen zu suchen und dann die Entwicklung und Bereitstellung in allen Phasen des Continuous-Delivery-Prozesses durchzuführen. Artefakte sind die Dateien, an denen Aktionen in der Pipeline arbeiten, z. B. Dateien oder Ordner mit Anwendungscode, Indexseitendateien, Skripts usw. Das Amazon S3-Artefakt für Quellaktionen ist beispielsweise ein Dateiname (oder Dateipfad), in dem die Anwendungsquellcodedateien für die Pipeline-Quellcode-Aktion bereitgestellt werden. Die Dateien werden als ZIP-Datei bereitgestellt, wie zum Beispiel im folgenden Beispiel für einen Artefaktnamen:. SampleApp_Windows.zip Das Ausgabeartefakt für die Quellaktion, die Quellcodedateien der Anwendung, ist das Ausgabeartefakt dieser Aktion und das Eingabeartefakt für die nächste Aktion, z. B. eine Build-Aktion. Als weiteres Beispiel könnte eine Build-Aktion Build-Befehle ausführen, die den Anwendungsquellcode für ein Eingabe-Artefakt kompilieren, bei dem es sich um die Anwendungsquellcodedateien handelt. Einzelheiten zu Artefaktparametern, z. B. für die Aktion, finden Sie auf der Referenzseite zur Aktionskonfiguration AWS CodeBuild Aktionsreferenz erstellen und testen für eine bestimmte Aktion. CodeBuild

Aktionen verwenden Eingabe- und Ausgabeartefakte, die in dem Amazon S3-Artefakt-Bucket gespeichert sind, den Sie bei der Erstellung der Pipeline ausgewählt haben. CodePipeline komprimiert und überträgt die Dateien für Eingabe- oder Ausgabeartefakte entsprechend dem Aktionstyp in der Phase.

Anmerkung

Der Artefakt-Bucket ist nicht derselbe Bucket wie der Bucket, der als Speicherort der Quelldatei für eine Pipeline verwendet wird, in der die gewählte Quellaktion S3 ist.

Beispiel:

  1. CodePipeline löst die Ausführung Ihrer Pipeline aus, wenn ein Commit für das Quell-Repository erfolgt, und stellt das Ausgabe-Artefakt (alle zu erstellenden Dateien) aus dem Source-Stagingbereich bereit.

  2. Das Ausgabe-Artefakt (alle Dateien, die erstellt werden sollen) aus dem vorherigen Schritt wird als Eingabe-Artefakt in die Phase Erstellen aufgenommen. Ein Ausgabe-Artefakt (die Build-Anwendung) aus der Phase Build kann eine aktualisierte Anwendung oder ein in einem Container erstelltes aktualisiertes Docker-Image sein.

  3. Das Ausgabeartefakt aus dem vorherigen Schritt (der erstellten Anwendung) wird als Eingabeartefakt in die Deploy-Phase aufgenommen, z. B. in der Staging- oder Produktionsumgebung in der. AWS Cloud Sie können Anwendungen für die Bereitstellungsflotte bereitstellen, oder Sie können Container-basierte Anwendungen für in ECS-Clustern ausgeführte Aufgaben bereitstellen.

Wenn Sie eine Aktion erstellen oder bearbeiten, legen Sie das Eingabe- und Ausgabe-Artefakt oder die Eingabe- und Ausgabe-Artefakte für die Aktion fest. Für eine zweistufige Pipeline mit einer Quell - und Bereitstellungsphase wählen Sie beispielsweise unter Aktion bearbeiten den Artefaktnamen der Quellaktion für das Eingabeartefakt für die Bereitstellungsaktion aus.

  • Wenn Sie die Konsole verwenden, um Ihre erste Pipeline zu erstellen, CodePipeline wird in derselben ein Amazon S3-Bucket erstellt, in dem Artikel für AWS-Konto alle AWS-Region Pipelines gespeichert werden. Jedes Mal, wenn Sie die Konsole verwenden, um eine weitere Pipeline in dieser Region zu erstellen, CodePipeline wird ein Ordner für diese Pipeline im Bucket erstellt. Dieser Ordner wird zum Speichern von Artefakten für Ihre Pipeline verwendet, während der automatisierte Veröffentlichungsprozess ausgeführt wird. Dieser Bucket heißt codepipeline- region -12345EXAMPLE, wobei sich die AWS Region region befindet, in der Sie die Pipeline erstellt haben, und 12345EXAMPLE ist eine 12-stellige Zufallszahl, die sicherstellt, dass der Bucket-Name eindeutig ist.

    Anmerkung

    Wenn Sie in der Region, in der Sie die Pipeline erstellen, bereits einen Bucket haben, der mit codepipeline - region beginnt, wird dieser als Standard-Bucket CodePipeline verwendet. Er folgt auch der lexikografischen Reihenfolge. Beispielsweise wird codepipeline- region-abcexample vor codepipeline- region-defexample ausgewählt.

    CodePipeline kürzt Artefaktnamen, was dazu führen kann, dass einige Bucket-Namen ähnlich aussehen. Obwohl der Artefaktname abgeschnitten zu sein scheint, wird er dem Artefakt-Bucket CodePipeline auf eine Weise zugeordnet, die von Artefakten mit verkürzten Namen nicht beeinflusst wird. Die Pipeline kann normal ausgeführt werden. Dies ist kein Problem mit dem Ordner oder den Artefakten. Für Pipelinenamen besteht eine Längenbegrenzung auf 100 Zeichen. Auch wenn der Name des Artefaktordners gekürzt angezeigt wird, ist er für Ihre Pipeline eindeutig.

    Wenn Sie eine Pipeline erstellen oder bearbeiten, müssen Sie einen Artefakt-Bucket in der Pipeline haben AWS-Region, AWS-Konto und Sie müssen einen Artefakt-Bucket pro Region haben, in der Sie eine Aktion ausführen möchten. Wenn Sie die Konsole verwenden, um eine Pipeline oder regionsübergreifende Aktionen zu erstellen, werden von CodePipeline in den Regionen, in denen Sie Aktionen haben, Standard-Artefakt-Buckets erstellt.

    Wenn Sie die verwenden, AWS CLI um eine Pipeline zu erstellen, können Sie die Artefakte für diese Pipeline in jedem Amazon S3-Bucket speichern, solange sich dieser Bucket in demselben Bucket AWS-Konto und AWS-Region wie die Pipeline befindet. Sie können dies tun, wenn Sie Bedenken haben, die für Ihr Konto zulässigen Amazon S3-Buckets zu überschreiten. Wenn Sie die verwenden, AWS CLI um eine Pipeline zu erstellen oder zu bearbeiten, und Sie eine regionsübergreifende Aktion hinzufügen (eine Aktion mit einem AWS Anbieter in einer anderen Region als Ihrer Pipeline), müssen Sie für jede weitere Region, in der Sie eine Aktion ausführen möchten, einen Artefakt-Bucket bereitstellen.

  • Jede Aktion hat einen Typ. Je nach Typ kann die Aktion über eine oder beide der folgenden Arten von Artefakten verfügen:

    • Ein Eingabeartefakt, bei dem es sich um das Artefakt handelt, das die Aktion während ihrer Ausführung nutzt oder bearbeitet.

    • Ein Ausgabeartefakt, bei dem es sich um das Ergebnis der Aktion handelt.

    Jedes Ausgabeartefakt in einer Pipeline muss einen eindeutigen Namen haben. Jedes Eingabeartefakt einer Aktion muss dem Ausgabeartefakt einer früheren Aktion in der Pipeline entsprechen. Dabei kann es sich um eine Aktion handeln, die unmittelbar vor der betreffenden Aktion in derselben Phase oder in einer früheren Phase ausgeführt wurde.

    Ein Artefakt kann von mehr als einer Aktion bearbeitet werden.