

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

**Anmerkung**  
Die hier beschriebene Option zum vollständigen Klonen bezieht sich auf die Angabe, ob Repository-Metadaten geklont werden CodePipeline sollen. Diese können nur von 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) zur Verwendung mit CodeBuild Projekten zu verwenden, folgen Sie den hier aufgeführten Schritten, um den AWS Connector für die GitHub App zu installieren, und lassen Sie dann das Feld 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 befindet als das Konto für Ihre Pipeline, stellen Sie sicher, dass der S3-Artefakt-Bucket denjenigen gehört AWS-Konten , die sicher und zuverlässig sind.

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 unter[Produkt- und Serviceintegrationen mit CodePipeline](integrations.md). Überlegungen zu dieser Aktion in der Region Europa (Mailand) finden Sie in der Anmerkung unter[CodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com und 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 mit Ihrem GitHub Konto ein GitHub Repository.
+ Halten Sie Ihre GitHub Anmeldedaten bereit. Wenn Sie den 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 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.

1. Um eine neue Datei zu erstellen, wähle **Datei hinzufügen > Neue Datei erstellen**. Benennen Sie die Datei`README.md`. Datei 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 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 bei der CodePipeline Konsole an unter [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 in **Schritt 2: Pipeline-Einstellungen auswählen** im Feld **Pipeline-Name** den Wert ein**MyGitHubPipeline**.

1. 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 [Arten von Pipelines](pipeline-types.md).

1. 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](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](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) erstellen möchten, stellen Sie sicher, dass Sie den AWS Connector für die GitHub App bereits installiert haben, und lassen Sie dann das Feld App-Installation leer. CodeConnections verwendet das Benutzerzugriffstoken für die Verbindung. Weitere Informationen finden Sie unter [Greifen Sie auf Ihren Quellanbieter 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 **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 verwenden](#tutorials-github-gitclone-rolepolicy)In 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.

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** aus:5.0aws/codebuild/standard.**

   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 . Sie benötigen den Rollennamen für den letzten Schritt in diesem Tutorial.

   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 **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
      ```

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

   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** wä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>

Der erste Pipeline-Lauf 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ügen Sie CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder .com GitHub hinzu GitHub GitLab](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. 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.