Erstellen Sie eine Pipeline in CodePipeline - 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.

Erstellen Sie eine Pipeline in CodePipeline

Sie können die AWS CodePipeline Konsole oder die verwenden AWS CLI , um eine Pipeline zu erstellen. Pipelines müssen mindestens zwei Stufen enthalten. Die erste Stufe einer Pipeline muss eine Quellstufe sein. Die Pipeline muss mindestens eine weitere Stufe besitzen, bei der es sich um eine Build- oder Bereitstellungsstufe handelt.

Sie können Ihrer Pipeline Aktionen hinzufügen, die sich in einer anderen AWS Region als Ihrer Pipeline befinden. Eine regionsübergreifende Aktion ist eine Aktion, bei der an der Anbieter für eine Aktion AWS-Service ist und sich der Aktionstyp oder der Anbietertyp in einer anderen AWS Region als Ihrer Pipeline befinden. Weitere Informationen finden Sie unter Fügen Sie eine regionsübergreifende Aktion hinzu in CodePipeline.

Sie können auch Pipelines erstellen, die containerbasierte Anwendungen erstellen und bereitstellen, indem Sie Amazon ECS als Bereitstellungsanbieter verwenden. Bevor Sie eine Pipeline erstellen, die containerbasierte Anwendungen mit Amazon ECS bereitstellt, müssen Sie eine Image-Definitionsdatei erstellen, wie unter beschrieben. Referenz zu Abbild-Definitionsdateien

CodePipeline verwendet Methoden zur Erkennung von Änderungen, um Ihre Pipeline zu starten, wenn eine Quellcodeänderung übertragen wird. Diese Erkennungsmethoden basieren auf dem Quelltyp:

  • CodePipeline verwendet Amazon CloudWatch Events, um Änderungen in Ihrem CodeCommit Quell-Repository und Branch oder Ihrem S3-Quell-Bucket zu erkennen.

Anmerkung

Wenn Sie die Konsole zum Erstellen oder Ändern einer Pipeline verwenden, werden die Ressourcen für die Änderungserkennung für Sie erstellt. Wenn Sie die AWS CLI verwenden, um die Pipeline zu erstellen, müssen Sie die zusätzlichen Ressourcen selbst erstellen. Weitere Informationen finden Sie unter CodeCommit Quellaktionen und EventBridge.

Erstellen einer Pipeline (Konsole)

Um eine Pipeline in der Konsole zu erstellen, müssen Sie den Standort der Quelldatei sowie Informationen zu den Providern angeben, die Sie für Ihre Aktionen verwenden werden.

Wenn Sie die Konsole zum Erstellen einer Pipeline verwenden, müssen Sie eine Source-Stufe und eine der folgenden Stufen einschließen:

  • Eine Build-Stufe.

  • Eine Bereitstellungsstufe.

Wenn Sie den Pipeline-Assistenten verwenden, CodePipeline erstellt er die Namen der Stufen (Source, Build, Staging). Diese Namen können nicht geändert werden. Sie können spezifischere Namen (z. B. BuildToGamma oder DeployToProd) für Stufen verwenden, die Sie später hinzufügen.

Schritt 1: Erstellen Sie Ihre Pipeline und geben Sie ihr einen Namen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Klicken Sie auf der Seite Welcome auf Create pipeline.

    Wenn Sie es zum ersten Mal verwenden CodePipeline, wählen Sie Get Started.

  3. Geben Sie auf der Seite Step 1: Choose pipeline settings (Schritt 1: Pipeline-Einstellungen auswählen) unter Pipeline name (Pipeline-Name) den Namen für Ihre Pipeline ein.

    In einem einzelnen AWS Konto muss jede Pipeline, die Sie in einer AWS Region erstellen, einen eindeutigen Namen haben. Namen können für Pipelines in anderen Regionen wiederverwendet werden.

    Anmerkung

    Der Name einer erstellten Pipeline kann nicht nachträglich geändert werden. Weitere Informationen zu Einschränkungen finden Sie unter Kontingente in AWS CodePipeline.

  4. Wählen Sie unter Pipeline-Typ eine der folgenden Optionen aus. Die Pipeline-Typen unterscheiden sich in ihren Eigenschaften und im Preis. Weitere Informationen finden Sie unter Pipeline-Typen.

    • Pipelines vom Typ V1 haben eine JSON-Struktur, die Standardparameter auf Pipeline-, Stufen- und Aktionsebene enthält.

    • Pipelines vom Typ V2 haben dieselbe Struktur wie Pipelines vom Typ V1 und bieten zusätzliche Parameterunterstützung, z. B. Trigger für Git-Tags und Variablen auf Pipeline-Ebene.

  5. Führen Sie unter Service role (Service-Rolle) einen der folgenden Schritte aus:

    • Wählen Sie Neue Servicerolle aus, um die Erstellung einer neuen Servicerolle in IAM CodePipeline zu ermöglichen.

    • Wählen Sie Existing service role (Vorhandene Servicerolle), um eine Servicerolle zu verwenden, die in IAM bereits erstellt wurde. Wählen Sie unter Role ARN (Rollen-ARN) Ihren Servicerollen-ARN aus der Liste aus.

    Anmerkung

    Je nachdem, wann Ihre Servicerolle erstellt wurde, müssen Sie möglicherweise ihre Berechtigungen aktualisieren, um weitere AWS-Services Funktionen zu unterstützen. Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen zur CodePipeline-Servicerolle.

    Weitere Informationen über die Service-Rolle und ihre Richtlinienanweisung finden Sie unter Die CodePipeline Servicerolle verwalten.

  6. (Optional) Wählen Sie unter Variablen die Option Variable hinzufügen aus, um Variablen auf Pipeline-Ebene hinzuzufügen.

    Weitere Informationen zu Variablen auf Pipeline-Ebene finden Sie unterVariablen. Ein Tutorial mit einer Variablen auf Pipelineebene, die bei der Ausführung der Pipeline übergeben wird, finden Sie unter. Tutorial: Variablen auf Pipeline-Ebene verwenden

    Anmerkung

    Es ist zwar optional, Variablen auf Pipelineebene hinzuzufügen, aber bei einer Pipeline, die mit Variablen auf Pipelineebene spezifiziert ist, für die keine Werte bereitgestellt werden, schlägt die Pipelineausführung fehl.

  7. (Optional) Erweitern Sie den Abschnitt Advanced Settings (Erweiterte Einstellungen).

  8. Führen Sie unter Artifact store (Artefakt speichern) einen der folgenden Schritte aus:

    1. Wählen Sie Standardspeicherort, um den Standardartefaktspeicher, z. B. den als Standard festgelegten S3-Artefakt-Bucket, für Ihre Pipeline in der Pipeline zu verwenden, die AWS-Region Sie für Ihre Pipeline ausgewählt haben.

    2. Wählen Sie Custom location (Benutzerdefinierter Speicherort), wenn Sie in derselben Region wie Ihre Pipeline bereits über einen Artefakt-Speicher, wie z. B. einen S3-Artefakt-Bucket, verfügen. Wählen Sie unter Bucket den Bucket-Namen aus.

    Anmerkung

    Dabei handelt es sich nicht um den Quell-Bucket für Ihren Quellcode, sondern um den Artefaktspeicher für Ihre Pipeline. Für jede Pipeline benötigen Sie einen separaten Artefaktspeicher, z. B. einen S3 Bucket. Wenn Sie eine Pipeline erstellen oder bearbeiten, benötigen Sie einen Artefakt-Bucket in der Pipeline-Region und einen Artefakt-Bucket pro AWS Region, in der Sie eine Aktion ausführen.

    Weitere Informationen finden Sie unter Eingabe- und Ausgabe-Artefakte und CodePipeline Referenz zur Pipeline-Struktur.

  9. Führen Sie unter Encryption key (Verschlüsselungsschlüssel) einen der folgenden Schritte aus:

    1. Um den CodePipeline Standard AWS KMS key für die Verschlüsselung der Daten im Pipeline-Artefaktspeicher (S3-Bucket) zu verwenden, wählen Sie „Verwalteter Standardschlüssel“. AWS

    2. Um Ihren vom Kunden verwalteten Schlüssel zum Verschlüsseln der Daten im Pipeline-Artefaktspeicher (S3-Bucket) zu verwenden, wählen Sie Customer Managed Key aus. Wählen Sie die Schlüssel-ID, den Schlüssel-ARN oder den Alias-ARN aus.

  10. Wählen Sie Weiter aus.

Schritt 2: Erstellen Sie eine Quellstufe
  • Wählen Sie auf der Seite Step 2: Add source stage (Schritt 2: Quelle) in der Dropdown-Liste Source provider (Quell-Stufe hinzufügen) den Typ des Repositorys aus, in dem der Quellcode gespeichert ist. Geben Sie die erforderlichen Optionen an und wählen Sie dann Next step (Nächster Schritt).

    • Für Bitbucket Cloud GitHub (Version 2), GitHub Enterprise Server, GitLab .com oder GitLab selbstverwaltet:

      1. Wähle unter Verbindung eine bestehende Verbindung aus oder erstelle eine neue. Informationen zum Erstellen oder Verwalten einer Verbindung für Ihre GitHub Quellaktion finden Sie unterGitHub Verbindungen.

      2. Wählen Sie das Repository aus, das Sie als Quellverzeichnis für Ihre Pipeline verwenden möchten.

        Wählen Sie, ob Sie einen Trigger hinzufügen oder nach Triggertypen filtern möchten, um Ihre Pipeline zu starten. Weitere Informationen zum Arbeiten mit Triggern finden Sie unterTrigger für Code-Push- oder Pull-Anfragen filtern. Weitere Informationen zum Filtern mit Glob-Mustern finden Sie unterArbeiten mit Glob-Mustern in der Syntax.

      3. Wählen Sie unter Ausgabeartefaktformat das Format für Ihre Artefakte aus.

        • Um die Ausgabeartefakte der GitHub Aktion mit der Standardmethode zu speichern, wählen Sie CodePipelineStandard. Die Aktion greift auf die Dateien aus dem GitHub Repository zu und speichert die Artefakte in einer ZIP-Datei im Pipeline-Artefaktspeicher.

        • Um eine JSON-Datei zu speichern, die einen URL-Verweis auf das Repository enthält, damit Downstream-Aktionen Git-Befehle direkt ausführen können, wählen Sie Full clone (Vollständiger Klon). Diese Option kann nur von CodeBuild nachgelagerten Aktionen verwendet werden.

          Wenn Sie diese Option wählen, müssen Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle aktualisieren, wie unter beschriebenProblembehebung CodePipeline. Ein Tutorial, das Ihnen zeigt, wie Sie die Option Vollständiges Klonen verwenden, finden Sie unterTutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden.

    • Für Amazon S3:

      1. Geben Sie in Amazon S3 location (Amazon S3-Speicherort) den S3-Bucket-Namen und den Pfad zum Objekt in einem Bucket mit aktiviertem Versioning an. Das Format des Bucket-Namens und der Pfad sehen etwa so aus:

        s3://bucketName/folderName/objectName
        Anmerkung

        Wenn Amazon S3 der Quellanbieter für Ihre Pipeline ist, können Sie Ihre Quelldatei (en) in eine einzige ZIP-Datei komprimieren und die ZIP-Datei in Ihren Quell-Bucket hochladen. Sie können auch eine einzelne Datei ungezippt hochladen, aber nachgelagerte Aktionen, die eine ZIP-Datei erwarten, schlagen dann fehl.

      2. Nachdem Sie den S3-Quell-Bucket ausgewählt haben, CodePipeline erstellt er die Amazon CloudWatch Events-Regel und den AWS CloudTrail Trail, der für diese Pipeline erstellt werden soll. Lassen Sie die Standardwerte in Change detection options (Optionen für die Änderungserkennung) unverändert. Auf diese Weise können CodePipeline Sie Amazon CloudWatch Events verwenden und AWS CloudTrail Änderungen für Ihre neue Pipeline erkennen. Wählen Sie Weiter aus.

    • AWS CodeCommit:

      • Wählen Sie unter Repository-Name den Namen des CodeCommit Repositorys aus, das Sie als Quellpfad für Ihre Pipeline verwenden möchten. Wählen Sie in Branch name aus der Dropdown-Liste die Verzweigung aus, die Sie verwenden möchten.

      • Wählen Sie unter Ausgabeartefaktformat das Format für Ihre Artefakte aus.

        • Um die Ausgabeartefakte der CodeCommit Aktion mit der Standardmethode zu speichern, wählen Sie CodePipelineStandard. Die Aktion greift auf die Dateien aus dem CodeCommit Repository zu und speichert die Artefakte in einer ZIP-Datei im Pipeline-Artefaktspeicher.

        • Um eine JSON-Datei zu speichern, die einen URL-Verweis auf das Repository enthält, damit Downstream-Aktionen Git-Befehle direkt ausführen können, wählen Sie Full clone (Vollständiger Klon). Diese Option kann nur von CodeBuild nachgelagerten Aktionen verwendet werden.

          Wenn Sie diese Option wählen, müssen Sie Ihrer CodeBuild Servicerolle die codecommit:GitPull entsprechende Berechtigung hinzufügen, wie unter beschriebenFügen Sie CodeBuild GitClone Berechtigungen für CodeCommit Quellaktionen hinzu. Sie müssen außerdem die codecommit:GetRepository Berechtigungen zu Ihrer CodePipeline Servicerolle hinzufügen, wie unter beschriebenHinzufügen von Berechtigungen zur CodePipeline-Servicerolle. Ein Tutorial, das Ihnen zeigt, wie Sie die Option Vollständiges Klonen verwenden, finden Sie unterTutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden.

      • Nachdem Sie den CodeCommit Repository-Namen und den Branch ausgewählt haben, wird unter Optionen zur Änderungserkennung eine Meldung mit der Amazon CloudWatch Events-Regel angezeigt, die für diese Pipeline erstellt werden soll. Lassen Sie die Standardwerte in Change detection options (Optionen für die Änderungserkennung) unverändert. Auf diese Weise können CodePipeline Sie Amazon CloudWatch Events verwenden, um Änderungen für Ihre neue Pipeline zu erkennen.

    • Für Amazon ECR:

      • Wählen Sie unter Repository-Name den Namen Ihres Amazon ECR-Repositorys aus.

      • Geben Sie im Feld Image tag (Image-Tag) den Image-Namen und die Version an, falls sie nicht LATEST lautet.

      • Wählen Sie unter Ausgabeartefakte die Standardeinstellung für das Ausgabeartefakt aus, z. B. das MyApp Element, das den Bildnamen und die Repository-URI-Informationen enthält, die in der nächsten Phase verwendet werden sollen.

        Ein Tutorial zum Erstellen einer Pipeline für Amazon ECS mit CodeDeploy blaugrünen Bereitstellungen, die eine Amazon ECR-Quellphase beinhaltet, finden Sie unter. Tutorial: Erstellen Sie eine Pipeline mit einer Amazon ECR-Quelle und ECS-TO-Bereitstellung CodeDeploy

      Wenn Sie eine Amazon ECR-Quellstufe in Ihre Pipeline aufnehmen, generiert die Quellaktion eine imageDetail.json Datei als Ausgabeartefakt, wenn Sie eine Änderung festschreiben. Informationen zur imageDetail.json-Datei finden Sie unter ImageDetail.json-Datei für Amazon ECS-Bereitstellungsaktionen in Blau/Grün.

    Anmerkung

    Das Objekt und der Dateityp müssen mit dem Bereitstellungssystem kompatibel sein, das Sie verwenden möchten (z. B. Elastic Beanstalk oder CodeDeploy). Beispiele für unterstützte Dateitypen sind ZIP, TAR und TGZ. Weitere Informationen zu den unterstützten Containertypen für Elastic Beanstalk finden Sie unter Anpassen und Konfigurieren von Elastic Beanstalk Beanstalk-Umgebungen und unterstützten Plattformen. Weitere Informationen zur Bereitstellung von Revisionen mit finden Sie unter Upload Your Application Revision CodeDeploy und Prepare a Revision.

Schritt 3: Erstellen Sie eine Build-Stufe

Dieser Schritt ist optional, wenn Sie die Erstellung einer Bereitstellungsstufe planen.

  • Führen Sie auf der Seite Step 3:Add build stage (Schritt 3: Build-Stufe hinzufügen) einen der folgenden Schritte aus und klicken Sie dann auf Next (Weiter):

    • Wählen Sie Skip build stage (Build-Stufe überspringen), wenn Sie die Erstellung einer Bereitstellungsstufe planen.

    • Wählen Sie in Build provider (Build-Anbieter) einen benutzerdefinierten Aktionsanbieter von Build-Services aus und geben Sie die Konfigurationsdetails für diesen Anbieter ein. Ein Beispiel zum Hinzufügen von Jenkins als Build-Anbieter finden Sie unter Tutorial: Erstellen einer vierstufigen Pipeline.

    • Wählen Sie unter Build provider (Build-Anbieter) AWS CodeBuild aus.

      Wählen Sie unter Region die AWS Region aus, in der die Ressource vorhanden ist. Das Feld Region gibt an, wo die AWS Ressourcen für diesen Aktionstyp und Anbietertyp erstellt werden. Dieses Feld wird nur für Aktionen angezeigt, bei denen es sich bei dem Aktionsanbieter um einen handelt. AWS-Service Das Feld Region ist standardmäßig auf dieselbe AWS Region wie Ihre Pipeline eingestellt.

      Wählen Sie unter Project name (Projektname) Ihr Build-Projekt aus. Wenn Sie bereits ein Build-Projekt in erstellt haben CodeBuild, wählen Sie es aus. Sie können auch ein Build-Projekt in erstellen CodeBuild und dann zu dieser Aufgabe zurückkehren. Folgen Sie den Anweisungen unter Erstellen einer Pipeline, die verwendet wird CodeBuild im CodeBuildBenutzerhandbuch.

      Um Ihrer Build-Aktion CodeBuild Umgebungsvariablen hinzuzufügen, wählen Sie unter Umgebungsvariablen die Option Umgebungsvariable hinzufügen aus. Jede Variable besteht aus drei Einträgen:

      • Geben Sie in Name (Name) den Namen oder Schlüssel der Umgebungsvariable ein.

      • Geben Sie in Value (Wert) den Wert der Umgebungsvariable ein. Wenn Sie Parameter für den Variablentyp wählen, stellen Sie sicher, dass dieser Wert der Name eines Parameters ist, den Sie bereits im AWS Systems Manager Parameter Store gespeichert haben.

        Anmerkung

        Es wird dringend davon abgeraten, Umgebungsvariablen zum Speichern sensibler Werte, insbesondere von AWS Anmeldeinformationen, zu verwenden. Wenn Sie die CodeBuild Konsole oder AWS CLI verwenden, werden Umgebungsvariablen im Klartext angezeigt. Wenn es sich um vertrauliche Werte handelt, sollten Sie stattdessen den TypParameter (Parameter) verwenden.

      • (Optional) Geben Sie in Type (Typ) den Typ der Umgebungsvariablen ein. Gültige Werte sind Plaintext (Klartext) oder Parameter (Parameter). Der Standardwert ist Plaintext (Klartext).

      (Optional) Wählen Sie unter Buildtyp eine der folgenden Optionen aus:

      • Um jeden Build in einer einzigen Ausführung einer Build-Aktion auszuführen, wählen Sie Single Build aus.

      • Um mehrere Builds in derselben Build-Aktionsausführung auszuführen, wählen Sie Batch-Build.

      (Optional) Wenn Sie Batch-Builds ausführen möchten, können Sie „Alle Artefakte aus dem Batch an einem einzigen Speicherort zusammenfassen“ wählen, um alle Build-Artefakte in einem einzigen Ausgabeartefakt zu platzieren.

Schritt 4: Erstellen Sie eine Bereitstellungsstufe

Dieser Schritt ist optional, falls Sie bereits eine Build-Stufe erstellt haben.

  • Führen Sie auf der Seite Step 4:Add deploy stage (Schritt 4: Bereitstellungsstufe hinzufügen) einen der folgenden Schritte aus und klicken Sie dann auf Next (Weiter):

    • Wählen Sie Skip deploy stage (Bereitstellungsstufe überspringen), wenn Sie im vorherigen Schritt eine Build-Stufe erstellt haben.

      Anmerkung

      Diese Option wird nicht angezeigt, falls Sie die Build-Stufe bereits übersprungen haben.

    • Wählen Sie unter Deploy provider (Bereitstellungsanbieter) eine benutzerdefinierte Aktion aus, die Sie für einen Bereitstellungsanbieter erstellt haben.

      Wählen Sie unter Region nur für regionsübergreifende Aktionen die AWS Region aus, in der die Ressource erstellt wird. Das Feld Region gibt an, wo die AWS Ressourcen für diesen Aktionstyp und Anbietertyp erstellt werden. Dieses Feld wird nur für Aktionen angezeigt, bei denen es sich bei dem Aktionsanbieter um einen handelt. AWS-Service Das Feld Region ist standardmäßig auf dieselbe AWS Region wie Ihre Pipeline eingestellt.

    • Unter Deploy provider (Bereitstellungsanbieter) finden Sie folgende Felder für Standardanbieter:

      • CodeDeploy

        Geben Sie im Feld Anwendungsname den Namen einer vorhandenen CodeDeploy Anwendung ein, oder wählen Sie ihn aus. Geben Sie unter Deployment group (Bereitstellungsgruppe) den Namen einer Bereitstellungsgruppe für die Anwendung ein. Wählen Sie Weiter aus. Sie können in der CodeDeploy Konsole auch eine Anwendung, eine Bereitstellungsgruppe oder beides erstellen.

      • AWS Elastic Beanstalk

        Geben Sie im Feld Anwendungsname den Namen einer vorhandenen Elastic Beanstalk Beanstalk-Anwendung ein, oder wählen Sie ihn aus. Geben Sie unter Environment Name (Umgebungsname) eine Umgebung für die Anwendung ein. Wählen Sie Weiter aus. Sie können in der Elastic Beanstalk Beanstalk-Konsole auch eine Anwendung, eine Umgebung oder beides erstellen.

      • AWS OpsWorks Stacks

        Geben Sie unter Stack den Namen des Stacks ein, den Sie verwenden möchten. Wählen Sie unter Layer (Ebene) die Ebene aus, der Ihre Ziel-Instances angehören. Wählen Sie in App die Anwendung aus, die Sie aktualisieren und bereitstellen möchten. Wenn Sie eine App erstellen müssen, wählen Sie Create a new one in AWS OpsWorks(Eine neue in &OPSlong; erstellen) aus.

        Informationen zum Hinzufügen einer Anwendung zu einem Stack und Layer in AWS OpsWorks finden Sie unter Hinzufügen von Apps im AWS OpsWorks Benutzerhandbuch.

        Ein end-to-end Beispiel dafür, wie Sie eine einfache Pipeline CodePipeline als Quelle für Code verwenden, den Sie auf AWS OpsWorks Ebenen ausführen, finden Sie unter Verwenden CodePipeline mit AWS OpsWorks Stacks.

      • AWS CloudFormation

        Führen Sie eine der folgenden Aktionen aus:

        • Wählen Sie im Aktionsmodus die Option Stapel erstellen oder aktualisieren aus, geben Sie einen Stacknamen und einen Namen der Vorlagendatei ein und wählen Sie dann den Namen einer Rolle aus, die übernommen werden AWS CloudFormation soll. Geben Sie optional den Namen einer Konfigurationsdatei ein und wählen Sie eine IAM-Fähigkeitsoption aus.

        • Wählen Sie im Aktionsmodus die Option Änderungssatz erstellen oder ersetzen aus, geben Sie einen Stacknamen und einen Namen des Änderungssatzes ein und wählen Sie dann den Namen einer Rolle aus, die übernommen werden AWS CloudFormation soll. Geben Sie optional den Namen einer Konfigurationsdatei ein und wählen Sie eine IAM-Fähigkeitsoption.

        Informationen zur Integration von AWS CloudFormation Funktionen in eine Pipeline finden Sie unter Continuous Delivery with CodePipeline im AWS CloudFormation Benutzerhandbuch. CodePipeline

      • Amazon ECS

        Geben Sie im Feld Clustername den Namen eines vorhandenen Amazon ECS-Clusters ein, oder wählen Sie ihn aus. Geben Sie unter Service name (Service-Name) den Namen des auf dem Cluster ausgeführten Services ein oder wählen Sie ihn aus. Sie können auch einen neuen Cluster und einen Service erstellen. Geben Sie unter Image filename (Abbild-Dateiname) den Namen der Abbild-Definitionsdatei ein, die den Container und das Abbild Ihres Services beschreibt.

        Anmerkung

        Für die Amazon ECS-Bereitstellungsaktion ist eine imagedefinitions.json Datei als Eingabe für die Bereitstellungsaktion erforderlich. Der Standardname der Datei ist imagedefinitions.json. Wenn Sie einen anderen Dateinamen verwenden, müssen Sie diesen während der Erstellung der Pipeline-Bereitstellungsphase angeben. Weitere Informationen finden Sie unter Datei imagedefinitions.json für Amazon ECS-Standardbereitstellungsaktionen.

        Wählen Sie Weiter.

        Anmerkung

        Stellen Sie sicher, dass Ihr Amazon ECS-Cluster mit zwei oder mehr Instances konfiguriert ist. Amazon ECS-Cluster müssen mindestens zwei Instances enthalten, sodass eine als primäre Instance beibehalten wird und eine weitere für neue Bereitstellungen verwendet wird.

        Ein Tutorial zur Bereitstellung containerbasierter Anwendungen mit Ihrer Pipeline finden Sie unter Tutorial: Continuous Deployment with. CodePipeline

      • Amazon ECS (Blue/Green) (Amazon ECS (Blau/Grün))

        Geben Sie die CodeDeploy Anwendungs- und Bereitstellungsgruppe, die Amazon ECS-Aufgabendefinition und die AppSpec Dateiinformationen ein, und klicken Sie dann auf Weiter.

        Anmerkung

        Die Aktion Amazon ECS (Blue/Green) (Amazon ECS (Blau/Grün)) erfordert eine imageDetail.json-Datei als Eingabeartefakt für die Bereitstellungsaktion. Da die Amazon ECR-Quellaktion diese Datei erstellt, müssen Pipelines mit einer Amazon ECR-Quellaktion keine Datei bereitstellen. imageDetail.json Weitere Informationen finden Sie unter ImageDetail.json-Datei für Amazon ECS-Bereitstellungsaktionen in Blau/Grün.

        Ein Tutorial zum Erstellen einer Pipeline für blaugrüne Bereitstellungen in einem Amazon ECS-Cluster mit CodeDeploy finden Sie unter. Tutorial: Erstellen Sie eine Pipeline mit einer Amazon ECR-Quelle und ECS-TO-Bereitstellung CodeDeploy

      • AWS Service Catalog

        Wählen Sie Enter deployment configuration (Bereitstellungskonfiguration eingeben), wenn Sie Felder in der Konsole zum Angeben Ihrer Konfiguration verwenden möchten, oder Konfigurationsdatei, falls Sie über eine separate Konfigurationsdatei verfügen. Geben Sie die Produkt- und Konfigurationsinformationen ein und klicken Sie anschließend auf Weiter.

        Ein Tutorial zur Bereitstellung von Produktänderungen in Service Catalog mit Ihrer Pipeline finden Sie unterTutorial: Erstellen Sie eine Pipeline, die in Service Catalog bereitgestellt wird.

      • Alexa Skills Kit

        Geben Sie unter Alexa Skill-ID die Skill-ID für Ihre Alexa-Qualifikation ein. Geben Sie unter Client-ID und Clientschlüssel die Anmeldeinformationen ein, die über ein Login with Amazon-Sicherheitsprofil (LWA) generiert wurden. Geben Sie unter Aktualisierungs-Token das Aktualisierungs-Token ein, das Sie mit dem ASK-CLI-Befehl zum Abrufen eines Aktualisierungs-Tokens generiert haben. Wählen Sie Weiter aus.

        Ein Tutorial zur Bereitstellung von Alexa-Qualifikationen mit Ihrer Pipeline und zur Generierung der LWA-Anmeldeinformationen finden Sie unter Tutorial: Erstellen einer Pipeline zum Bereitstellen eines Amazon Alexa-Skills.

      • Amazon S3

        Geben Sie unter Bucket den Namen des gewünschten S3-Buckets ein. Wählen Sie Extract file before deploy (Datei vor Bereitstellung extrahieren), falls das Eingabeartefakt für Ihre Bereitstellungsstufe eine ZIP-Datei ist. Wenn Extract file before deploy (Datei vor Bereitstellung extrahieren) ausgewählt ist, können Sie optional einen Wert für Deployment path (Bereitstellungspfad) als Speicherort eingeben, an dem Ihre ZIP-Datei entzippt wird. Wenn die Option nicht aktiviert ist, müssen Sie einen Wert unter S3 object key (S3-Objektschlüssel) eingeben.

        Anmerkung

        Die meisten Ausgabeartefakte von Quell- und Build-Stufen werden gezippt. Alle Pipeline-Quellanbieter außer Amazon S3 komprimieren Ihre Quelldateien, bevor Sie sie als Eingabeartefakt für die nächste Aktion bereitstellen.

        (Optional) Geben Sie in Canned ACL die gespeicherte ACL ein, die auf das in Amazon S3 bereitgestellte Objekt angewendet werden soll.

        Anmerkung

        Beim Anwenden einer vordefinierten ACL werden alle auf das Objekt angewandten vorhandenen ACLs überschrieben.

        (Optional) Geben Sie unter Cache control (Cache-Kontrolle) die Cache-Kontroll-Parameter für Anforderungen zum Herunterladen von Objekten aus dem Bucket an. Eine Liste der gültigen Werte finden Sie im Cache-Control-Header-Feld für HTTP-Operationen. Um mehrere Werte in die Cache-Steuerung einzugeben, verwenden Sie ein Komma zwischen den einzelnen Werten. Sie können nach jedem Komma ein Leerzeichen hinzufügen (optional), wie in diesem Beispiel gezeigt.

        Der vorherige Beispieleintrag wird in der CLI wie folgt angezeigt:

        "CacheControl": "public, max-age=0, no-transform"

        Wählen Sie Weiter aus.

        Ein Tutorial zum Erstellen einer Pipeline mit einem Amazon S3 S3-Bereitstellungsaktionsanbieter finden Sie unterTutorial: Erstellen Sie eine Pipeline, die Amazon S3 als Bereitstellungsanbieter verwendet.

Schritt 5: Überprüfen der Pipeline
  • Prüfen Sie auf der Seite Step 5: Review die Konfiguration Ihrer Pipeline und wählen Sie dann Create pipeline zur Erstellung der Pipeline oder Previous zum Bearbeiten aus. Um den Assistenten ohne Erstellen einer Pipeline zu beenden, wählen Sie Cancel aus.

Nachdem Sie die Pipeline erstellt haben, können Sie sie in der Konsole anzeigen. Die Pipeline wird nach dem Erstellen ausgeführt. Weitere Informationen finden Sie unter Pipelines und Details anzeigen in CodePipeline. Weitere Informationen über die Durchführung von Änderungen an Ihrer Pipeline finden Sie unter Eine Pipeline bearbeiten in CodePipeline.

Erstellen einer Pipeline (CLI)

Um die zum Erstellen einer Pipeline AWS CLI zu verwenden, erstellen Sie eine JSON-Datei, um die Pipeline-Struktur zu definieren, und führen dann den create-pipeline Befehl mit dem --cli-input-json Parameter aus.

Wichtig

Sie können den nicht verwenden AWS CLI , um eine Pipeline zu erstellen, die Partneraktionen enthält. Sie müssen stattdessen die CodePipeline Konsole verwenden.

Weitere Informationen zur Pipeline-Struktur finden Sie unter CodePipeline Referenz zur Pipeline-Struktur und create-pipeline in der CodePipeline API-Referenz.

Zum Erstellen einer JSON-Datei verwenden Sie die Beispiel-Pipeline-JSON-Datei, bearbeiten Sie und rufen diese Datei dann auf, wenn Sie den Befehl create-pipeline ausführen.

Voraussetzungen:

Sie benötigen den ARN der Servicerolle, für die Sie CodePipeline in erstellt habenErste Schritte mit CodePipeline. Sie verwenden die CodePipeline Dienstrolle ARN in der Pipeline-JSON-Datei, wenn Sie den create-pipeline Befehl ausführen. Weitere Informationen zum Erstellen einer Servicerolle finden Sie unter Erstellen Sie die CodePipeline Servicerolle. Im Gegensatz zur Konsole besteht bei der Ausführung des create-pipeline Befehls in der AWS CLI nicht die Möglichkeit, die CodePipeline Servicerolle für Sie zu erstellen. Die Servicerolle muss bereits vorhanden sein.

Sie benötigen den Namen eines S3-Buckets, in dem die Artefakte für die Pipeline gespeichert werden. Dieser Bucket muss sich in derselben Region wie die Pipeline befinden. Sie verwenden den Bucketnamen in der Pipeline-JSON-Datei, wenn Sie den Befehl create-pipeline ausführen. Im Gegensatz zur Konsole wird bei der Ausführung des create-pipeline Befehls in der AWS CLI kein S3-Bucket zum Speichern von Artefakten erstellt. Der Bucket muss bereits vorhanden sein.

Anmerkung

Auch mit dem Befehl get-pipeline erhalten Sie eine Kopie der JSON-Struktur dieser Pipeline. Sie können diese dann in einem Texteditor entsprechend modifizieren.

Themen
    So erstellen Sie die JSON-Datei
    1. Erstellen Sie an einem Terminal (Linux, macOS oder Unix) oder einer Befehlszeile (Windows) eine neue Textdatei in einem lokalen Verzeichnis.

    2. (Optional) Sie können eine oder mehrere Variablen auf Pipeline-Ebene hinzufügen. Sie können in der Konfiguration von CodePipeline Aktionen auf diesen Wert verweisen. Sie können die Variablennamen und Werte hinzufügen, wenn Sie die Pipeline erstellen, und Sie können auch festlegen, dass Werte zugewiesen werden, wenn Sie die Pipeline in der Konsole starten.

      Anmerkung

      Es ist zwar optional, Variablen auf Pipeline-Ebene hinzuzufügen, aber bei einer Pipeline, die mit Variablen auf Pipelineebene spezifiziert ist und für die keine Werte bereitgestellt werden, schlägt die Pipeline-Ausführung fehl.

      Eine Variable auf Pipelineebene wird zur Laufzeit der Pipeline aufgelöst. Alle Variablen sind unveränderlich, was bedeutet, dass sie nicht aktualisiert werden können, nachdem ein Wert zugewiesen wurde. Variablen auf Pipeline-Ebene mit aufgelösten Werten werden im Verlauf jeder Ausführung angezeigt.

      Sie stellen Variablen auf Pipeline-Ebene mithilfe des Variablen-Attributs in der Pipeline-Struktur bereit. Im folgenden Beispiel Variable1 hat die Variable den WertValue1.

      "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]

      Fügen Sie diese Struktur im folgenden Schritt zu Ihrem Pipeline-JSON oder zum Beispiel-JSON hinzu. Weitere Informationen zu Variablen, einschließlich Namespace-Informationen, finden Sie unterVariablen.

    3. Öffnen Sie die Datei in einem Texteditor und bearbeiten Sie die Werte entsprechend der Struktur, die Sie erstellen möchten. Sie müssen mindestens den Namen der Pipeline ändern. Sie sollten auch überlegen, ob Sie Folgendes ändern möchten:

      • Den S3-Bucket, in dem Artefakte für diese Pipeline gespeichert sind.

      • Den Speicherort für Ihren Code.

      • Den Bereitstellungsanbieter.

      • Art der Bereitstellung des Codes.

      • Die Tags für Ihre Pipeline.

      Die folgende Beispielstruktur für eine Pipeline mit zwei Phasen zeigt die Werte an, deren Änderung Sie für Ihre Pipeline in Betracht ziehen sollten. Ihre Pipeline enthält wahrscheinlich mehr als zwei Phasen:

      { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demobucket-example-date", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }

      In diesem Beispiel wird der Pipeline Tagging hinzugefügt, indem der Pipeline der Tag-Schlüssel Project und der Wert ProjectA hinzugefügt werden. Weitere Informationen zum Markieren von Ressourcen in finden Sie CodePipeline unter. Markieren von Ressourcen

      Stellen Sie sicher, dass der PollForSourceChanges-Parameter in Ihrer JSON-Datei wie folgt festgelegt ist:

      "PollForSourceChanges": "false",

      CodePipeline verwendet Amazon CloudWatch Events, um Änderungen in Ihrem CodeCommit Quell-Repository und Branch oder Ihrem S3-Quell-Bucket zu erkennen. Der nächste Schritt enthält Anweisungen zum manuellen Erstellen dieser Ressourcen für Ihre Pipeline. Wenn das Flag auf false gesetzt wird, werden regelmäßige Prüfungen deaktiviert, die nicht erforderlich sind, wenn die empfohlenen Methoden zur Änderungserkennung verwendet werden.

    4. Um eine Build-, Test- oder Bereitstellungsaktion in einer anderen Region als Ihre Pipeline zu erstellen, müssen Sie Ihrer Pipeline-Struktur Folgendes hinzufügen. Anweisungen finden Sie unter Fügen Sie eine regionsübergreifende Aktion hinzu in CodePipeline.

      • Fügen Sie den Region-Parameter der Pipeline-Struktur Ihrer Aktion hinzu.

      • Verwenden Sie den artifactStores Parameter, um einen Artefakt-Bucket für jede AWS Region anzugeben, in der Sie eine Aktion ausführen.

    5. Wenn Sie mit der Struktur zufrieden sind, speichern Sie die Datei mit einem Namen wie pipeline.json.

    So erstellen Sie eine Pipeline
    1. Führen Sie den Befehl create-pipeline aus und verwenden Sie die Parameter --cli-input-json, um die zuvor erstellte JSON-Datei anzugeben.

      Um eine Pipeline MySecondPipelinemit einer JSON-Datei namens pipeline.json zu erstellen, die den Namen "MySecondPipeline" als Wert für name in der JSON-Datei enthält, würde Ihr Befehl wie folgt aussehen:

      aws codepipeline create-pipeline --cli-input-json file://pipeline.json
      Wichtig

      Achten Sie darauf, dass file:// vor dem Dateinamen steht. Dies ist bei diesem Befehl erforderlich.

      Dieser Befehl gibt die Struktur der gesamten erstellten Pipeline zurück.

    2. Um die Pipeline anzuzeigen, öffnen Sie entweder die CodePipeline Konsole und wählen Sie sie aus der Pipeline-Liste aus, oder verwenden Sie den Befehl. get-pipeline-state Weitere Informationen finden Sie unter Pipelines und Details anzeigen in CodePipeline.

    3. Wenn Sie die CLI zum Erstellen einer Pipeline verwenden, müssen Sie die empfohlenen Änderungserkennungsressourcen für Ihre Pipeline manuell erstellen: