

Amazon CodeCatalyst ist nicht mehr offen für Neukunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Wie migriert man von CodeCatalyst](migration.md).

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: Lint-Code mit einer GitHub Aktion
<a name="integrations-github-action-tutorial"></a>

In diesem Tutorial fügen Sie die [ GitHub Super-Linter-Aktion](https://github.com/marketplace/actions/super-linter) zu einem CodeCatalyst Amazon-Workflow hinzu. Die Super-Linter-Aktion untersucht den Code, findet Bereiche, in denen der Code Fehler, Formatierungsprobleme und verdächtige Konstrukte aufweist, und gibt die Ergebnisse dann an die Konsole aus). CodeCatalyst Nachdem Sie den Linter zu Ihrem Workflow hinzugefügt haben, führen Sie den Workflow aus, um eine Node.js -Beispielanwendung () zu linten. `app.js` Anschließend beheben Sie die gemeldeten Probleme und führen den Workflow erneut aus, um zu überprüfen, ob die Korrekturen erfolgreich waren.

**Tipp**  
[Erwägen Sie, Super-Linter zu verwenden, um YAML-Dateien wie Vorlagen zu verlinken.CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)

**Topics**
+ [Voraussetzungen](#integrations-github-action-tutorial-prereqs)
+ [Schritt 1: Erstellen Sie ein Quell-Repository](#integrations-github-action-tutorial-create-source-repo)
+ [Schritt 2: Fügen Sie eine Datei app.js hinzu](#integrations-github-action-tutorial-add-appjs)
+ [Schritt 3: Erstellen Sie einen Workflow, der die Super-Linter-Aktion ausführt](#integrations-github-action-tutorial-create-workflow)
+ [Schritt 4: Probleme beheben, die der Super-Linter gefunden hat](#integrations-github-action-tutorial-fix-probs)
+ [Bereinigen](#integrations-github-action-tutorial-cleanup)

## Voraussetzungen
<a name="integrations-github-action-tutorial-prereqs"></a>

Bevor Sie beginnen, benötigen Sie:
+ Ein CodeCatalyst **Leerzeichen** mit einem verbundenen AWS-Konto. Weitere Informationen finden Sie unter [Erstellen einer Umgebung](spaces-create.md).
+ Ein leeres Projekt in Ihrem CodeCatalyst Bereich namens`codecatalyst-linter-project`. Wählen Sie die Option **Von vorne beginnen**, um dieses Projekt zu erstellen.

  ```
  ```

  Weitere Informationen finden Sie unter [Ein leeres Projekt in Amazon erstellen CodeCatalyst](projects-create.md#projects-create-empty).

## Schritt 1: Erstellen Sie ein Quell-Repository
<a name="integrations-github-action-tutorial-create-source-repo"></a>

In diesem Schritt erstellen Sie ein Quell-Repository in CodeCatalyst. In diesem Repository speichern Sie die Quelldatei der Beispielanwendung für dieses Tutorial. `app.js`

Weitere Informationen zu Quell-Repositorys finden Sie unter[Erstellen eines Quell-Repositorys](source-repositories-create.md).

**Um ein Quell-Repository zu erstellen**

1. Öffnen Sie die CodeCatalyst Konsole unter [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigieren Sie zu Ihrem Projekt,`codecatalyst-linter-project`.

1. Wählen Sie im Navigationsbereich **Code** und dann **Source Repositories** aus. 

1. Wählen **Sie Repository hinzufügen** und anschließend **Repository erstellen** aus.

1. Geben Sie im Feld **Repository-Name** Folgendes ein:

   ```
   codecatalyst-linter-source-repository
   ```

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

## Schritt 2: Fügen Sie eine Datei app.js hinzu
<a name="integrations-github-action-tutorial-add-appjs"></a>

In diesem Schritt fügen Sie Ihrem Quell-Repository eine `app.js` Datei hinzu. Der `app.js` enthält Funktionscode, der einige Fehler enthält, die der Linter finden wird.

**Um die Datei app.js hinzuzufügen**

1. Wählen Sie in der CodeCatalyst Konsole Ihr Projekt aus,`codecatalyst-linter-project`.

1. Wählen Sie im Navigationsbereich **Code** und dann **Source Repositories** aus.

1. Wählen Sie aus der Liste der Quell-Repositorys Ihr Repository aus. `codecatalyst-linter-source-repository`

1. Wählen Sie unter **Dateien** die Option **Datei erstellen** aus.

1. Geben Sie in das Textfeld den folgenden Code ein:

   ```
   // const axios = require('axios')
   // const url = 'http://checkip.amazonaws.com/';
   let response;
   /**
    *
    * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
    * @param {Object} event - API Gateway Lambda Proxy Input Format
    *
    * Context doc: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html 
    * @param {Object} context
    *
    * Return doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html
    * @returns {Object} object - API Gateway Lambda Proxy Output Format
    *
    */
   exports.lambdaHandler = async (event, context) => {
     try {
       // const ret = await axios(url);
       response = {
         statusCode: 200,
         'body': JSON.stringify({
           message: 'hello world'
           // location: ret.data.trim()
         })
       }
     } catch (err) {
       console.log(err)
       return err
     }
   
       return response
   }
   ```

1. Geben Sie als **Dateiname** ein`app.js`. Behalten Sie die anderen Standardoptionen bei.

1. Wählen Sie **Commit** (Übergeben).

   Sie haben jetzt eine Datei mit dem Namen erstellt`app.js`.

## Schritt 3: Erstellen Sie einen Workflow, der die Super-Linter-Aktion ausführt
<a name="integrations-github-action-tutorial-create-workflow"></a>

In diesem Schritt erstellen Sie einen Workflow, der die Super-Linter-Aktion ausführt, wenn Sie Code in Ihr Quell-Repository übertragen. Der Workflow besteht aus den folgenden Bausteinen, die Sie in einer YAML-Datei definieren:
+ **Ein Trigger** — Dieser Trigger startet die Workflow-Ausführung automatisch, wenn Sie eine Änderung an Ihr Quell-Repository übertragen. Weitere Informationen zu Auslösern finden Sie unter [Automatisches Starten einer Workflow-Ausführung mithilfe von Triggern](workflows-add-trigger.md).
+ **Eine Aktion „GitHub Aktionen“ — Beim** Auslösen führt die Aktion **GitHub Aktionen** die Super-Linter-Aktion aus, die wiederum alle Dateien in Ihrem Quell-Repository überprüft. Findet der Linter ein Problem, schlägt die Workflow-Aktion fehl. 

**Um einen Workflow zu erstellen, der die Super-Linter-Aktion ausführt**

1. Wählen Sie in der CodeCatalyst Konsole Ihr Projekt aus,. `codecatalyst-linter-project`

1. **Wählen Sie im Navigationsbereich **CI/CD** und dann Workflows aus.** 

1. Wählen Sie Workflow **erstellen** aus.

1. Wählen Sie für **Quell-Repository** die Option`codecatalyst-linter-source-repository`.

1. Wählen Sie für **Branch** die Option`main`.

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

1. Löschen Sie den YAML-Beispielcode.

1. Fügen Sie das folgende YAML hinzu:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           github-action-code
   ```

   Ersetzen Sie den Code im vorherigen Code *github-action-code* durch den Super-Linter-Aktionscode, wie in den folgenden Schritten dieses Verfahrens beschrieben.

1. Gehen Sie auf die [Super-Linter-Seite](https://github.com/marketplace/actions/super-linter) im GitHub Marketplace.

1. Suchen Sie unter `steps:` (Kleinbuchstaben) nach dem Code und fügen Sie ihn in den CodeCatalyst Workflow unter `Steps:` (Großbuchstaben) ein.

   Passen Sie den GitHub Aktionscode an die CodeCatalyst Standards an, wie im folgenden Code gezeigt.

   Ihr CodeCatalyst Workflow sieht jetzt wie folgt aus:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           - name: Lint Code Base
             uses: github/super-linter@v4
             env:
               VALIDATE_ALL_CODEBASE: "true"
               DEFAULT_BRANCH: main
   ```

1. (Optional) Wählen Sie „**Validieren**“, um sicherzustellen, dass der YAML-Code gültig ist, bevor Sie ihn festschreiben.

1. Wählen Sie **Commit**, geben Sie eine **Commit-Nachricht** ein, wählen Sie Ihr `codecatalyst-linter-source-repository` **Repository** aus und wählen Sie erneut **Commit** aus.

   Sie haben jetzt einen Workflow erstellt. Eine Workflow-Ausführung wird aufgrund des oben im Workflow definierten Triggers automatisch gestartet.

**Um die laufende Workflow-Ausführung anzuzeigen**

1. **Wählen Sie im Navigationsbereich **CI/CD** und dann Workflows aus.**

1. Wählen Sie den Workflow aus, den Sie gerade erstellt haben:. `codecatalyst-linter-workflow`

1. Wählen Sie im Workflow-Diagramm **SuperLinterAction**.

1. Warten Sie, bis die Aktion fehlschlägt. Dieser Fehler wird erwartet, weil der Linter Probleme im Code gefunden hat.

1. Lassen Sie die CodeCatalyst Konsole geöffnet und gehen Sie zu[Schritt 4: Probleme beheben, die der Super-Linter gefunden hat](#integrations-github-action-tutorial-fix-probs).

## Schritt 4: Probleme beheben, die der Super-Linter gefunden hat
<a name="integrations-github-action-tutorial-fix-probs"></a>

Der Super-Linter sollte Probleme im `app.js` Code sowie in der `README.md` Datei gefunden haben, die in Ihrem Quell-Repository enthalten ist.

**Um die Probleme zu beheben, die der Linter gefunden hat**

1. Wählen Sie in der CodeCatalyst Konsole die Registerkarte **Logs** und dann **Lint Code Base** aus.

   Die Protokolle, die die Super-Linter-Aktion generiert hat, werden angezeigt.

1. Scrollen Sie in den Super-Linter-Protokollen nach unten bis etwa Zeile 90, wo Sie den Beginn der Probleme finden. Sie sehen etwa wie folgt aus: 

   ```
   /github/workspace/hello-world/app.js:3:13: Extra semicolon.
   /github/workspace/hello-world/app.js:9:92: Trailing spaces not allowed.
   /github/workspace/hello-world/app.js:21:7: Unnecessarily quoted property 'body' found.
   /github/workspace/hello-world/app.js:31:1: Expected indentation of 2 spaces but found 4.
   /github/workspace/hello-world/app.js:32:2: Newline required at end of file but not found.
   ```

1. Korrigieren Sie `app.js` und `README.md` in Ihrem Quell-Repository und übernehmen Sie Ihre Änderungen. 
**Tipp**  
Um das zu beheben`README.md`, füge `markdown` es dem Codeblock wie folgt hinzu:  

   ```
   ```markdown
   Setup examples:
   ...
   ```
   ```

   Ihre Änderungen starten automatisch eine weitere Workflow-Ausführung. Warten Sie, bis der Workflow abgeschlossen ist. Wenn Sie alle Probleme behoben haben, sollte der Workflow erfolgreich sein.

## Bereinigen
<a name="integrations-github-action-tutorial-cleanup"></a>

Bereinigen Sie in CodeCatalyst , um Spuren dieses Tutorials aus Ihrer Umgebung zu entfernen.

**Zum Aufräumen in CodeCatalyst**

1. Öffnen Sie die CodeCatalyst Konsole unter [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Löschen`codecatalyst-linter-source-repository`.

1. Löschen`codecatalyst-linter-workflow`.

In diesem Tutorial haben Sie gelernt, wie Sie die GitHub Super-Linter-Aktion zu einem CodeCatalyst Workflow hinzufügen, um Code zu vereinfachen.