Tutoriel : code Lint à l'aide d'une action GitHub - Amazon CodeCatalyst

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : code Lint à l'aide d'une action GitHub

Dans ce didacticiel, vous allez ajouter l' GitHub action Super-Linter à un flux de travail Amazon CodeCatalyst . L'action Super-Linter inspecte le code, détecte les zones dans lesquelles le code contient des erreurs, des problèmes de formatage et des constructions suspectes, puis affiche les résultats sur la console). CodeCatalyst Après avoir ajouté le linter à votre flux de travail, vous exécutez le flux de travail pour lint un exemple d'application Node.js ()app.js. Vous corrigez ensuite les problèmes signalés et réexécutez le flux de travail pour voir si les correctifs ont fonctionné.

Prérequis

Avant de commencer, vous aurez besoin des éléments suivants :

Étape 1 : Création d'un référentiel source

Au cours de cette étape, vous créez un référentiel source dans CodeCatalyst. Vous allez utiliser ce référentiel pour stocker l'exemple de fichier source de l'applicationapp.js, dans le cadre de ce didacticiel.

Pour plus d'informations sur les référentiels sources, consultezCréation d'un référentiel source.

Pour créer un référentiel de sources
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Accédez à votre projet,codecatalyst-linter-project.

  3. Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.

  4. Choisissez Ajouter un référentiel, puis sélectionnez Créer un référentiel.

  5. Dans Nom du référentiel, entrez :

    codecatalyst-linter-source-repository
  6. Choisissez Créer.

Étape 2 : Ajouter un fichier app.js

Au cours de cette étape, vous ajoutez un app.js fichier à votre référentiel source. Le app.js contient un code de fonction contenant quelques erreurs que le linter trouvera.

Pour ajouter le fichier app.js
  1. Dans la CodeCatalyst console, choisissez votre projet,codecatalyst-linter-project.

  2. Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.

  3. Dans la liste des référentiels sources, choisissez votre référentiel,codecatalyst-linter-source-repository.

  4. Dans Fichiers, choisissez Créer un fichier.

  5. Dans la zone de texte, entrez le code suivant :

    // 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. Dans Nom du fichier, entrezapp.js. Conservez les autres options par défaut.

  7. Choisissez Commit (Valider).

    Vous venez de créer un fichier appeléapp.js.

Étape 3 : créer un flux de travail qui exécute l'action Super-Linter

Au cours de cette étape, vous créez un flux de travail qui exécute l'action Super-Linter lorsque vous envoyez du code vers votre référentiel source. Le flux de travail comprend les éléments de base suivants, que vous définissez dans un YAML fichier :

  • Un déclencheur : ce déclencheur lance automatiquement l'exécution du flux de travail lorsque vous apportez une modification à votre référentiel source. Pour plus d'informations sur les déclencheurs, consultez Démarrage d'un flux de travail exécuté automatiquement à l'aide de déclencheurs.

  • Une action « GitHub  Actions » — Lorsqu'elle est déclenchée, l'action GitHub Actions exécute l'action Super-Linter, qui à son tour inspecte tous les fichiers de votre référentiel source. Si le linter détecte un problème, l'action du flux de travail échoue.

Pour créer un flux de travail qui exécute l'action Super-Linter
  1. Dans la CodeCatalyst console, choisissez votre projet,codecatalyst-linter-project.

  2. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  3. Choisissez Créer un flux de travail.

  4. Pour Référentiel source, choisissezcodecatalyst-linter-source-repository.

  5. Pour Branch, choisissezmain.

  6. Choisissez Créer.

  7. Supprimez l'YAMLexemple de code.

  8. Ajoutez ce qui suit YAML :

    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

    Dans le code précédent, remplacez github-action-code avec le code d'action Super-Linter, comme indiqué dans les étapes suivantes de cette procédure.

  9. Accédez à la page Super-Linter sur le Marketplace. GitHub

  10. Sous steps: (minuscules), recherchez le code et collez-le dans le CodeCatalyst flux de travail situé sous Steps: (majuscules).

    Ajustez le code GitHub d'action pour qu'il soit conforme aux CodeCatalyst normes, comme indiqué dans le code suivant.

    Votre CodeCatalyst flux de travail ressemble désormais à ceci :

    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. (Facultatif) Choisissez Valider pour vous assurer que le YAML code est valide avant de le valider.

  12. Choisissez Valider, entrez un message de validation, sélectionnez votre codecatalyst-linter-source-repository référentiel, puis choisissez à nouveau Valider.

    Vous venez de créer un flux de travail. L'exécution d'un flux de travail démarre automatiquement en raison du déclencheur défini en haut du flux de travail.

Pour consulter le flux de travail en cours d'exécution
  1. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  2. Choisissez le flux de travail que vous venez de créer :codecatalyst-linter-workflow.

  3. Dans le diagramme du flux de travail, choisissez SuperLinterAction.

  4. Attendez que l'action échoue. Cet échec est attendu car le linter a détecté des problèmes dans le code.

  5. Laissez la CodeCatalyst console ouverte et accédez àÉtape 4 : Résoudre les problèmes détectés par le Super-Linter.

Étape 4 : Résoudre les problèmes détectés par le Super-Linter

Le Super-Linter devrait avoir détecté des problèmes dans le app.js code, ainsi que dans le README.md fichier inclus dans votre dépôt source.

Pour résoudre les problèmes détectés par le linter
  1. Dans la CodeCatalyst console, choisissez l'onglet Logs, puis Lint Code Base.

    Les journaux générés par l'action Super-Linter sont affichés.

  2. Dans les journaux de Super-Linter, faites défiler l'écran vers le bas jusqu'à la ligne 90, où vous trouverez le début des problèmes. Ils ressemblent à ce qui suit :

    /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. Corrigez app.js et README.md dans votre référentiel source et validez vos modifications.

    Astuce

    Pour corriger le problèmeREADME.md, ajoutez-le markdown au bloc de code, comme ceci :

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

    Vos modifications démarrent un autre flux de travail exécuté automatiquement. Attendez que le flux de travail soit terminé. Si vous avez résolu tous les problèmes, le flux de travail devrait réussir.

Nettoyage

Nettoyez CodeCatalyst pour supprimer les traces de ce didacticiel dans votre environnement.

Pour nettoyer CodeCatalyst
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Supprimercodecatalyst-linter-source-repository.

  3. Supprimercodecatalyst-linter-workflow.

Dans ce didacticiel, vous avez appris à ajouter l' GitHub action Super-Linter à un CodeCatalyst flux de travail afin de créer du code.