

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
<a name="tutorials-github-gitclone"></a>

Sie können die Option zum vollständigen 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.

**Anmerkung**  
Die hier beschriebene Option zum vollständigen Klonen bezieht sich auf die Angabe, ob Repository-Metadaten geklont werden CodePipeline sollen. Diese Metadaten können nur mit CodeBuild Befehlen verwendet werden. Um ein GitHub [ Benutzerzugriffstoken ](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) für CodeBuild Projekte zu verwenden, folgen Sie den Schritten hier, um den AWS Connector für die GitHub App zu installieren, und lassen Sie dann das Feld für die App-Installation leer. CodeConnections verwendet das Benutzerzugriffstoken für die Verbindung.



**Wichtig**  
Im Rahmen der Erstellung einer Pipeline wird ein vom Kunden bereitgestellter S3-Artefakt-Bucket von CodePipeline for Artifacts verwendet. (Dies unterscheidet sich von dem Bucket, der für eine S3-Quellaktion verwendet wird.) Wenn sich der S3-Artefakt-Bucket in einem anderen Konto als dem Konto für Ihre Pipeline befindet, stellen Sie sicher, dass der S3-Artefakt-Bucket dem Konto gehört AWS-Konten , das sicher und zuverlässig ist.

In diesem Tutorial erstellen Sie eine Pipeline, die eine Verbindung zu Ihrem GitHub Repository herstellt, die vollständige Clone-Option für Quelldaten verwendet und einen CodeBuild Build ausführt, 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) oder AWS GovCloud (US-West) nicht verfügbar. Informationen zu anderen verfügbaren Aktionen finden Sie unter[Produkt- und Serviceintegrationen mit CodePipeline](integrations.md). Überlegungen zu dieser Aktion in der Region Europa (Mailand) finden Sie im Hinweis unter[CodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server und GitLab.com GitLab selbstverwaltete Aktionen](action-reference-CodestarConnectionSource.md).

**Topics**
+ [Voraussetzungen](#tutorials-github-gitclone-prereq)
+ [Schritt 1: Erstellen Sie eine README-Datei](#tutorials-github-gitclone-file)
+ [Schritt 2: Erstellen Sie Ihre Pipeline und erstellen Sie ein Projekt](#tutorials-github-gitclone-pipeline)
+ [Schritt 3: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwenden](#tutorials-github-gitclone-rolepolicy)
+ [Schritt 4: Repository-Befehle in der Build-Ausgabe anzeigen](#tutorials-github-gitclone-view)

## Voraussetzungen
<a name="tutorials-github-gitclone-prereq"></a>

Sie benötigen Folgendes, um starten zu können:
+ Erstellen Sie ein GitHub Repository mit Ihrem GitHub Konto.
+ Halten Sie Ihre GitHub Anmeldeinformationen bereit. Wenn Sie das verwenden AWS-Managementkonsole , um eine Verbindung herzustellen, werden Sie aufgefordert, sich mit Ihren GitHub Anmeldeinformationen anzumelden. 

## Schritt 1: Erstellen Sie eine README-Datei
<a name="tutorials-github-gitclone-file"></a>

Nachdem du dein GitHub Repository erstellt hast, verwende diese Schritte, um eine README-Datei hinzuzufügen.

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

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

   ```
   This is a GitHub repository!
   ```

1. 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
<a name="tutorials-github-gitclone-pipeline"></a>

In diesem Abschnitt erstellen Sie eine Pipeline mit den folgenden Aktionen:
+ Eine Quellphase mit einer Verbindung zu deinem GitHub Repository und deiner Aktion.
+ Eine Build-Phase mit einer AWS CodeBuild Build-Aktion.

**So erstellen Sie mit dem Assistenten eine Pipeline**

1. Melden Sie sich bei der CodePipeline Konsole unter an [ https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. 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)**.

1. Wählen Sie auf der ** Seite ** Schritt 1: Erstellungsoption auswählen unter ** Erstellungsoptionen ** die ** Option Benutzerdefinierte Pipeline ** erstellen aus. Wählen Sie **Weiter** aus.

1. Geben Sie auf ** Schritt 2: Wählen Sie die Pipeline-Einstellungen aus ** und geben Sie im Feld ** Pipeline-Name ** den Wert ein**MyGitHubPipeline**.

1. Wählen Sie ** für die Zwecke dieses Tutorials unter ** Pipeline-Typ ** die Option ** V1 aus. Sie können auch ** V2 wählen. Beachten Sie jedoch**, dass sich die Pipeline-Typen in ihren Eigenschaften und ihrem Preis unterscheiden. Weitere Informationen finden Sie unter [Pipeline-Typen](pipeline-types.md).

1. Wählen Sie unter **Service role (Servicerolle)** die Option **New service role (Neue Servicerolle)**.
**Anmerkung**  
Wenn Sie stattdessen Ihre vorhandene 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](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services).

1. 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)**.

1. Fügen Sie auf der ** Seite ** Schritt 3: Quellstufe hinzufügen eine Quellstufe hinzu:

   1. Wählen Sie ** unter Quellanbieter ** die Option ** GitHub (über GitHub App) aus**.

   1. 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 unter[GitHub Verbindungen](connections-github.md). 

      Sie installieren eine App für alle Verbindungen mit einem bestimmten Anbieter. Wenn Sie den AWS Connector für die GitHub App bereits installiert haben, wählen Sie ihn aus und überspringen Sie diesen Schritt.
**Anmerkung**  
Wenn Sie ein [ Benutzerzugriffstoken erstellen möchten](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), stellen Sie sicher, dass Sie den AWS Connector für die GitHub App bereits installiert haben, und lassen Sie dann das Feld für die App-Installation leer. CodeConnections verwendet das Benutzerzugriffstoken für die Verbindung. Weitere Informationen finden Sie unter [ Greifen Sie auf Ihren Quellanbieter in zu CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html).

   1. Wählen Sie im Feld **Repository name (Repositoryname)** den Namen Ihres GitHub-Repositorys aus.

   1. Wählen Sie unter ** Branchname ** den Repository-Branch aus, den Sie verwenden möchten.

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

   1. Wählen Sie unter ** Ausgabe-Artefaktformat 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 verwenden](#tutorials-github-gitclone-rolepolicy)In diesem Tutorial werden Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle verwenden, um diese Option zu verwenden.

   Wählen Sie **Weiter** aus.

1. Fügen Sie in ** Schritt 4: 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.

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

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

   1. 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.

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

   1. Wählen Sie unter **Service role (Servicerolle)** die Option **New service role (Neue Servicerolle)** aus.
**Anmerkung**  
Notieren Sie sich den Namen Ihrer Servicerolle CodeBuild . Für den letzten Schritt in diesem Tutorial benötigen Sie den Rollennamen.

   1. 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 Befehle ** erstellen 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
      ```

   1. Wählen Sie ** Weiter zu. CodePipeline ** Dies kehrt zur CodePipeline Konsole zurück und erstellt 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.

   1. Wählen Sie **Weiter** aus.

1. Wählen Sie in ** Schritt 5: Testphase ** hinzufügen die Option Testphase ** überspringen aus und akzeptieren Sie dann die Warnmeldung**, indem Sie ** erneut ** Überspringen auswählen. 

   Wählen Sie **Weiter** aus.

1. Wählen Sie auf der ** Seite ** Schritt 6: Bereitstellungsphase hinzufügen die Option Bereitstellungsphase ** überspringen aus**, und akzeptieren Sie dann die Warnmeldung, indem Sie ** erneut auf ** Überspringen klicken. Wählen Sie **Weiter** aus.

1. Wählen ** Sie auf Schritt 7: Überprüfen ** die Option Pipeline ** erstellen aus**.

## Schritt 3: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwenden
<a name="tutorials-github-gitclone-rolepolicy"></a>

Die erste Ausführung der Pipeline schlägt fehl, da die CodeBuild Servicerolle mit Berechtigungen zur Verwendung von Verbindungen aktualisiert werden muss. Fügen Sie die `codestar-connections:UseConnection` IAM-Berechtigung zu Ihrer Servicerollenrichtlinie hinzu. Anweisungen zum Aktualisieren der Richtlinie in der IAM-Konsole finden Sie unter. [Füge CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder hinzu GitHub GitHub GitLab.com](troubleshooting.md#codebuild-role-connections)

## Schritt 4: Repository-Befehle in der Build-Ausgabe anzeigen
<a name="tutorials-github-gitclone-view"></a>

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

1. Nachdem die Pipeline erfolgreich ausgeführt wurde, wählen Sie in Ihrer erfolgreichen Build-Phase die Option Details ** ** anzeigen aus.

   Wählen Sie auf der Detailseite den ** Tab ** Logs. 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.