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 fluxapp.js
. Vous corrigez ensuite les problèmes signalés et réexécutez le flux de travail pour voir si les correctifs ont fonctionné.
Rubriques
Prérequis
Avant de commencer, vous aurez besoin des éléments suivants :
-
Un CodeCatalyst espace connecté Compte AWS. Pour plus d’informations, consultez Création d'un espace.
-
Un projet vide dans votre CodeCatalyst espace appelé
codecatalyst-linter-project
. Choisissez l'option Partir de zéro pour créer ce projet.Pour plus d’informations, consultez Création d'un projet vide dans Amazon CodeCatalyst.
É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
Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/
. -
Accédez à votre projet,
codecatalyst-linter-project
. -
Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.
-
Choisissez Ajouter un référentiel, puis sélectionnez Créer un référentiel.
-
Dans Nom du référentiel, entrez :
codecatalyst-linter-source-repository
-
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
-
Dans la CodeCatalyst console, choisissez votre projet,
codecatalyst-linter-project
. -
Dans le volet de navigation, choisissez Code, puis sélectionnez Référentiels sources.
-
Dans la liste des référentiels sources, choisissez votre référentiel,
codecatalyst-linter-source-repository
. -
Dans Fichiers, choisissez Créer un fichier.
-
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 }
-
Dans Nom du fichier, entrez
app.js
. Conservez les autres options par défaut. -
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
-
Dans la CodeCatalyst console, choisissez votre projet,
codecatalyst-linter-project
. -
Dans le volet de navigation, choisissez CI/CD, puis Workflows.
-
Choisissez Créer un flux de travail.
-
Pour Référentiel source, choisissez
codecatalyst-linter-source-repository
. -
Pour Branch, choisissez
main
. -
Choisissez Créer.
Supprimez l'YAMLexemple de code.
-
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. -
Accédez à la page Super-Linter sur le
Marketplace. GitHub -
Sous
steps:
(minuscules), recherchez le code et collez-le dans le CodeCatalyst flux de travail situé sousSteps:
(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
-
(Facultatif) Choisissez Valider pour vous assurer que le YAML code est valide avant de le valider.
-
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
-
Dans le volet de navigation, choisissez CI/CD, puis Workflows.
-
Choisissez le flux de travail que vous venez de créer :
codecatalyst-linter-workflow
. -
Dans le diagramme du flux de travail, choisissez SuperLinterAction.
-
Attendez que l'action échoue. Cet échec est attendu car le linter a détecté des problèmes dans le code.
-
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
-
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.
-
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.
-
Corrigez
app.js
etREADME.md
dans votre référentiel source et validez vos modifications.Astuce
Pour corriger le problème
README.md
, ajoutez-lemarkdown
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
-
Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/
. -
Supprimer
codecatalyst-linter-source-repository
. -
Supprimer
codecatalyst-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.