Tutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden - 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: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden

Sie können die Option „Vollständiges Klonen“ für Ihre GitHub Quellaktion unter auswählen CodePipeline. Verwenden Sie diese Option, um CodeBuild Befehle für Git-Metadaten in Ihrer Pipeline-Build-Aktion auszuführen.

In diesem Tutorial erstellen Sie eine Pipeline, die eine Verbindung zu Ihrem GitHub Repository herstellt, die vollständige Klonoption für Quelldaten verwendet und einen CodeBuild Build ausführen, der Ihr Repository klont und Git-Befehle für das Repository ausführt.

Anmerkung

Diese Funktion ist in den Regionen Asien-Pazifik (Hongkong), Afrika (Kapstadt), Naher Osten (Bahrain), Europa (Zürich) und AWS GovCloud (USA West) 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: Erstellen Sie eine README-Datei

Nachdem Sie Ihr GitHub Repository erstellt haben, gehen Sie wie folgt vor, um eine README-Datei hinzuzufügen.

  1. Loggen Sie sich in Ihr GitHub Repository ein und wählen Sie Ihr Repository aus.

  2. Um eine neue Datei zu erstellen, wähle Datei hinzufügen > Neue Datei erstellen. Benennen Sie die DateiREADME.md. Datei und fügen Sie den folgenden Text hinzu.

    This is a GitHub repository!
  3. Wählen Sie Commit changes (Änderungen übernehmen) aus.

    Die Datei README.md muss sich im Stammverzeichnis Ihres Repositorys befinden.

Schritt 2: Erstellen Sie Ihre Pipeline und erstellen Sie ein Projekt

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

  • Eine Quellphase mit einer Verbindung zu Ihrem GitHub Repository und Ihrer 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) MyGitHubPipeline ein.

  4. Wählen Sie im Feld Pipeline-Typ die Option V1 für die Zwecke dieses Tutorials aus. Sie können auch V2 wählen. Beachten Sie jedoch, dass sich die Pipeline-Typen in ihren Eigenschaften und im Preis unterscheiden. 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 codeconnections: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 Branch-Name den Repository-Branch aus, den Sie verwenden möchten.

    5. Stellen Sie sicher, dass die Option Starten der Pipeline bei Änderung des Quellcodes ausgewählt ist.

    6. Wählen Sie unter Ausgabeartefaktformat die Option Vollständiger Klon aus, um die Git-Clone-Option für das Quell-Repository zu aktivieren. Nur Aktionen, die von bereitgestellt werden, CodeBuild können die Git-Clone-Option verwenden. Schritt 3: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwendenIn diesem Tutorial erfahren Sie, wie Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle aktualisieren, sodass Sie diese Option verwenden können.

    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 CodeBuild Servicerolle. 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.

      Anmerkung

      Stellen Sie im env Abschnitt der Build-Spezifikation sicher, dass der Credential-Helper für Git-Befehle aktiviert ist, wie in diesem Beispiel gezeigt.

      version: 0.2 env: 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 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - 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: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwenden

Der erste Pipeline-Lauf schlägt fehl, da die CodeBuild Servicerolle mit Berechtigungen zur Verwendung von Verbindungen aktualisiert werden muss. Fügen Sie die codeconnections:UseConnection IAM-Berechtigung zu Ihrer Servicerollenrichtlinie hinzu. Anweisungen zum Aktualisieren der Richtlinie in der IAM-Konsole finden Sie unter. Fügen Sie CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder .com GitHub hinzu GitHub GitLab

Schritt 4: Repository-Befehle in der Build-Ausgabe anzeigen

  1. Wenn Ihre Servicerolle erfolgreich aktualisiert wurde, wählen Sie in der CodeBuild Phase „Fehlgeschlagen“ die Option „Erneut versuchen“.

  2. Wenn die Pipeline erfolgreich ausgeführt wurde, wählen Sie in der erfolgreichen Buildphase die Option Details anzeigen aus.

    Wählen Sie auf der Detailseite die Registerkarte Protokolle aus. Sehen Sie sich die CodeBuild Build-Ausgabe an. Die Befehle geben den Wert der eingegebenen Variablen aus.

    Die Befehle geben den README.md Dateiinhalt aus, listen die Dateien im Verzeichnis auf, klonen das Repository, zeigen das Protokoll an und archivieren das Repository als ZIP-Datei.