Tutorial: Lint-Code mit einer GitHub Aktion in einem Workflow - Amazon CodeCatalyst

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 in einem Workflow

In diesem Tutorial fügen Sie die GitHub Super-Linter-Aktion 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.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie:

  • Ein CodeCatalyst Leerzeichen mit einem verbundenen AWS-Konto. Weitere Informationen finden Sie unter Einen Raum schaffen.

  • Ein leeres Projekt in Ihrem CodeCatalyst Bereich namenscodecatalyst-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.

Schritt 1: Erstellen Sie ein Quell-Repository

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 unterErstellen eines Quell-Repositorys.

Um ein Quell-Repository zu erstellen
  1. Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/.

  2. Navigieren Sie zu Ihrem Projekt,codecatalyst-linter-project.

  3. Wählen Sie im Navigationsbereich Code und dann Quell-Repositories aus.

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

  5. Geben Sie im Feld Repository-Name Folgendes ein:

    codecatalyst-linter-source-repository
  6. Wählen Sie Erstellen.

Schritt 2: Fügen Sie eine Datei app.js hinzu

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.

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

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

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

  5. 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 }
  6. Geben Sie als Dateiname einapp.js. Behalten Sie die anderen Standardoptionen bei.

  7. Wählen Sie Commit (Übergeben).

    Sie haben jetzt eine Datei mit dem Namen erstelltapp.js.

Schritt 3: Erstellen Sie einen Workflow, der die Super-Linter-Aktion ausführt

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 mit Triggern.

  • Eine Aktion „GitHub Aktionen“ — Beim Trigger 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

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

  3. Wählen Sie Workflow erstellen aus.

  4. Wählen Sie für Quell-Repository die Optioncodecatalyst-linter-source-repository.

  5. Wählen Sie für Branch die Optionmain.

  6. Wählen Sie Erstellen.

  7. Löschen Sie den YAML-Beispielcode.

  8. 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-codedurch den Super-Linter-Aktionscode, wie in den folgenden Schritten dieses Verfahrens beschrieben.

  9. Gehen Sie auf die Super-Linter-Seite im GitHub Marketplace.

  10. 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
  11. (Optional) Wählen Sie „Validieren“, um sicherzustellen, dass der YAML-Code gültig ist, bevor Sie ihn festschreiben.

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

    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.

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

  3. Wählen Sie im Workflow-Diagramm SuperLinterAction.

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

  5. Lassen Sie die CodeCatalyst Konsole geöffnet und gehen Sie zuSchritt 4: Probleme beheben, die der Super-Linter gefunden hat.

Schritt 4: Probleme beheben, die der Super-Linter gefunden hat

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.

  2. 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.
  3. Korrigieren Sie app.js und README.md in Ihrem Quell-Repository und übernehmen Sie Ihre Änderungen.

    Tipp

    Um das zu behebenREADME.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

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

  2. Löschencodecatalyst-linter-source-repository.

  3. Löschencodecatalyst-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.