Tutorial: Verwende Git-Tags, um deine Pipeline zu starten - 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.

Tutorial: Verwende Git-Tags, um deine Pipeline zu starten

In diesem Tutorial erstellen Sie eine Pipeline, die eine Verbindung zu Ihrem GitHub Repository herstellt, in dem die Quellaktion für den Triggertyp Git-Tags konfiguriert ist. Wenn bei einem Commit ein Git-Tag erstellt wird, startet deine Pipeline. Dieses Beispiel zeigt dir, wie du eine Pipeline erstellst, die es ermöglicht, anhand der Syntax des Tag-Namens nach Tags zu filtern. Weitere Informationen zum Filtern mit Glob-Mustern finden Sie unterArbeiten mit Glob-Mustern in der Syntax.

In diesem Tutorial wird GitHub über den CodeStarSourceConnection Aktionstyp eine Verbindung hergestellt.

Anmerkung

Diese Funktion ist in den Regionen Asien-Pazifik (Hongkong), Afrika (Kapstadt), Naher Osten (Bahrain) und Europa (Zürich) nicht verfügbar. Hinweise zu anderen verfügbaren Aktionen finden Sie unterProdukt- und Serviceintegrationen mit CodePipeline. Überlegungen zu dieser Aktion in der Region Europa (Mailand) finden Sie in der Anmerkung unterCodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com und GitLab selbstverwaltete Aktionen.

Voraussetzungen

Sie benötigen Folgendes, um starten zu können:

  • Erstellen Sie mit Ihrem GitHub Konto ein GitHub Repository.

  • Halten Sie Ihre GitHub Anmeldedaten bereit. Wenn Sie den verwenden AWS Management Console , um eine Verbindung herzustellen, werden Sie aufgefordert, sich mit Ihren GitHub Anmeldeinformationen anzumelden.

Schritt 1: Öffne CloudShell und klone dein Repository

Du kannst eine Befehlszeilenschnittstelle verwenden, um dein Repository zu klonen, Commits vorzunehmen und Tags hinzuzufügen. Dieses Tutorial startet eine CloudShell Instanz für die Befehlszeilenschnittstelle.

  1. Melden Sie sich bei der an AWS Management Console.

  2. Wählen Sie in der oberen Navigationsleiste das AWS Symbol aus. Die Hauptseite der AWS Management Console Displays.

  3. Wählen Sie in der oberen Navigationsleiste das AWS CloudShell Symbol aus. CloudShell öffnet. Warten Sie, bis die CloudShell Umgebung erstellt ist.

    Anmerkung

    Wenn Sie das CloudShell Symbol nicht sehen, vergewissern Sie sich, dass Sie sich in einer Region befinden, die von unterstützt wird CloudShell. In diesem Tutorial wird davon ausgegangen, dass Sie sich in der Region USA West (Oregon) befinden.

  4. Navigieren GitHub Sie in zu Ihrem Repository. Wählen Sie Code und anschließend HTTPS aus. Kopieren Sie den Pfad. Die Adresse zum Klonen Ihres Git-Repositorys wird in die Zwischenablage kopiert.

  5. Führen Sie den folgenden Befehl aus, um das Repository zu klonen.

    git clone https://github.com/<account>/MyGitHubRepo.git
  6. Geben Sie Ihr GitHub Konto ein Username und Password wenn Sie dazu aufgefordert werden. Für den Password Eintrag müssen Sie ein vom Benutzer erstelltes Token anstelle Ihres Kontopassworts verwenden.

Schritt 2: Eine Pipeline zum Auslösen auf Git-Tags erstellen

In diesem Abschnitt erstellen Sie eine Pipeline mit den folgenden Aktionen:

  • Eine Quellphase mit einer Verbindung zu deinem GitHub Repository und einer Aktion.

  • Eine Build-Phase mit einer AWS CodeBuild Build-Aktion.

So erstellen Sie mit dem Assistenten eine Pipeline
  1. Melden Sie sich unter https://console.aws.amazon.com/codepipeline/ bei der CodePipeline Konsole an.

  2. Wählen Sie auf der Seite Welcome (Willkommen) die Option Getting started (Erste Schritte) oder auf der Seite Pipelines die Option Create pipeline (Pipeline erstellen).

  3. Geben Sie unter Step 1: Choose pipeline settings (Schritt 1: Auswahl der Pipeline-Einstellungen) unter Pipeline name (Pipeline-Name) MyGitHubTagsPipeline ein.

  4. Behalten Sie unter Pipeline-Typ die Standardauswahl V2 bei. Pipeline-Typen unterscheiden sich in ihren Eigenschaften und im Preis. Weitere Informationen finden Sie unter Pipeline-Typen.

  5. Wählen Sie unter Service role (Servicerolle) die Option New service role (Neue Servicerolle).

    Anmerkung

    Wenn Sie stattdessen Ihre bestehende CodePipeline Servicerolle verwenden möchten, stellen Sie sicher, dass Sie die codestar-connections:UseConnection IAM-Berechtigung zu Ihrer Servicerollenrichtlinie hinzugefügt haben. Anweisungen für die CodePipeline Servicerolle finden Sie unter Hinzufügen von Berechtigungen zur CodePipeline Servicerolle.

  6. Lassen Sie die Standardwerte bei Erweiterte Einstellungen unverändert. Wählen Sie unter Artifact store (Artefaktspeicher) die Option Default location (Standardstandort) aus, um den Standard-Artefakt-Speicherort für die Pipeline in der entsprechenden Region zu verwenden, beispielsweise mit dem Amazon S3-Artefakt-Bucket als Standard.

    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.

    Wählen Sie Next (Weiter).

  7. Fügen Sie auf der Seite Step 2: Add source stage (Schritt 2: Quell-Stufe hinzufügen) eine Quellphase hinzu:

    1. Wählen Sie unter Quellanbieter die Option GitHub (Version 2) aus.

    2. Wählen Sie unter Verbindung eine bestehende Verbindung aus, oder erstellen Sie eine neue. Informationen zum Erstellen oder Verwalten einer Verbindung für Ihre GitHub Quellaktion finden Sie unterGitHub Verbindungen.

    3. Wählen Sie unter Repository-Name den Namen Ihres GitHub Repositorys aus.

    4. Wählen Sie unter Pipeline-Trigger die Option Git-Tags aus.

      Geben Sie im Feld Include den Wert einrelease*.

      Wählen Sie unter Standardzweig den Branch aus, den Sie angeben möchten, wenn die Pipeline manuell oder mit einem Quellereignis gestartet wird, das kein Git-Tag ist. Wenn die Quelle der Änderung nicht der Auslöser ist oder wenn eine Pipeline-Ausführung manuell gestartet wurde, wird als Änderung der HEAD-Commit aus dem Standardbranch verwendet.

      Wichtig

      Pipelines, die mit einem Triggertyp von Git-Tags beginnen, werden für WebhookV2-Ereignisse konfiguriert und verwenden nicht das Webhook-Ereignis (Änderungserkennung bei allen Push-Ereignissen), um die Pipeline zu starten.

    Wählen Sie Weiter aus.

  8. Fügen Sie unter Add build stage (Build-Phase hinzufügen) eine Build-Phase hinzu:

    1. Wählen Sie unter Build provider (Build-Anbieter) die Option AWS CodeBuild aus. Belassen Sie unter Region als Standardeinstellung die Pipeline-Region.

    2. Wählen Sie Create project (Projekt erstellen) aus.

    3. Geben Sie unter Project name (Projektname) einen Namen für dieses Build-Projekt ein.

    4. Wählen Sie für Environment image (Umgebungs-Image) die Option Managed image (Verwaltetes Image) aus. Wählen Sie für Operating system (Betriebssystem) die Option Ubuntu aus.

    5. Wählen Sie unter Runtime (Laufzeit) die Option Standard aus. Wählen Sie für Image (Abbild) die Option aws/codebuild/standard:5.0 aus.

    6. Wählen Sie unter Service role (Servicerolle) die Option New service role (Neue Servicerolle) aus.

      Anmerkung

      Notieren Sie sich den Namen Ihrer Servicerolle. CodeBuild Sie benötigen den Rollennamen für den letzten Schritt in diesem Tutorial.

    7. Wählen Sie unter BuildSpec bei Build specifications (Build-Spezifikationen) die Option Insert build commands (Build-Befehle einfügen) aus. Wählen Sie Zum Editor wechseln und fügen Sie Folgendes unter Build-Befehle ein.

      version: 0.2 #env: #variables: # key: "value" # key: "value" #parameter-store: # key: "value" # key: "value" #git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 #commands: # - command # - command #pre_build: #commands: # - command # - command build: commands: - #post_build: #commands: # - command # - command artifacts: files: - '*' # - location name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. Wählen Sie Weiter zu CodePipeline. Dadurch kehren Sie zur CodePipeline Konsole zurück und erstellen ein CodeBuild Projekt, das Ihre Build-Befehle für die Konfiguration verwendet. Das Build-Projekt verwendet eine Servicerolle zur Verwaltung von AWS -Service Berechtigungen. Dieser Vorgang kann einige Minuten dauern.

    9. Wählen Sie Weiter aus.

  9. Wählen Sie auf der Seite Step 4: Add deploy stage (Schritt 4: Bereitstellungsstufe hinzufügen) die Option Skip deploy stage (Bereitstellungsstufe überspringen) aus und akzeptieren Sie anschließend die Warnmeldung, indem Sie erneut Skip (Überspringen) auswählen. Wählen Sie Weiter aus.

  10. Wählen Sie unter Step 5: Review (Schritt 5: Überprüfen) die Option Create pipeline (Pipeline erstellen) aus.

Schritt 3: Markiere deine Commits zur Veröffentlichung

Nachdem du deine Pipeline erstellt und Git-Tags angegeben hast, kannst du Commits in deinem GitHub Repository taggen. In diesen Schritten kennzeichnest du einen Commit dem release-1 Tag. Jeder Commit in einem Git-Repository muss ein eindeutiges Git-Tag haben. Wenn Sie den Commit auswählen und ihn taggen, können Sie auf diese Weise Änderungen aus verschiedenen Branches in Ihre Pipeline-Bereitstellung integrieren. Beachten Sie, dass der Tagname release nicht für das Konzept einer Veröffentlichung in gilt GitHub.

  1. Verweisen Sie auf die kopierten Commit-IDs, die Sie taggen möchten. Um die Commits in den einzelnen Branches anzuzeigen, geben Sie im CloudShell Terminal den folgenden Befehl ein, um die Commit-IDs zu erfassen, die Sie taggen möchten:

    git log
  2. Gib im CloudShell Terminal den Befehl ein, um deinen Commit zu taggen und ihn an den Ursprung weiterzuleiten. Nachdem du deinen Commit markiert hast, verwendest du den Befehl git push, um den Tag an den Ursprung zu übertragen. Geben Sie im folgenden Beispiel den folgenden Befehl ein, um das release-1 Tag für den zweiten Commit mit der ID zu verwenden49366bd. Dieses Tag wird durch den release* Pipeline-Tagfilter gefiltert und startet die Pipeline.

    git tag release-1 49366bd
    git push origin release-1
    Verwenden Sie das Terminal, um den Befehl zum Markieren eines Commits auszuführen.

Schritt 4: Änderungen veröffentlichen und Logs einsehen

  1. Nachdem die Pipeline erfolgreich ausgeführt wurde, wählen Sie in der erfolgreichen Buildphase die Option Protokoll anzeigen aus.

    Sehen Sie sich unter Protokolle die CodeBuild Build-Ausgabe an. Die Befehle geben den Wert der eingegebenen Variablen aus.

  2. Sehen Sie sich auf der Seite Verlauf die Spalte Trigger an. Zeigen Sie den Triggertyp an GitTag : Release-1.