Remarque : Votre administrateur de site doit activer l’code scanning pour votre instance GitHub Enterprise Server afin que vous puissiez utiliser cette fonctionnalité. Si vous souhaitez utiliser GitHub Actions pour analyser votre code, l’administrateur de site doit également activer GitHub Actions et configurer l’infrastructure nécessaire. Pour plus d’informations, consultez « Configuration de l’analyse du code pour votre appliance ».
Options pour la configuration de l’code scanning
Vous décidez comment générer les alertes d’code scanning et quels outils utiliser, au niveau d’un dépôt. GitHub Enterprise Server fournit une prise en charge entièrement intégrée de l’analyse CodeQL et prend également en charge l’analyse avec des outils tiers. Pour plus d’informations, consultez les puces suivantes et « À propos de l’analyse du code ».
-
CodeQL : utilise GitHub Actions (voir ci-dessous) ou exécute l’analyse CodeQL dans un système d’intégration continue (CI) tiers (voir « À propos de l’analyse du code CodeQL dans votre système d’intégration continue »).
-
Third‑party : utilise GitHub Actions ou des outils tiers et charge les résultats dans GitHub Enterprise Server (voir « Chargement d’un fichier SARIF sur GitHub »).
Si vous exécutez l’analyse du code en utilisant plusieurs configurations, il arrive qu’une alerte ait plusieurs origines d’analyse. Si une alerte a plusieurs origines d’analyse, vous pouvez afficher l’état de l’alerte pour chaque origine d’analyse sur la page de l’alerte. Pour plus d’informations, consultez « À propos des alertes d’analyse du code ».
Remarque : Cet article décrit les fonctionnalités disponibles avec la version de l’action CodeQL et le bundle CodeQL CLI associé inclus dans la mise en production initiale de cette version de GitHub Enterprise Server. Si votre entreprise utilise une version plus récente de l’action CodeQL, consultez la version GitHub Enterprise Cloud de cet article pour obtenir plus d’informations sur les dernières fonctionnalités. Pour plus d’informations sur l’utilisation de la dernière version, consultez « Configuration de l’analyse du code pour votre appliance »
Configuration de l’code scanning manuellement
-
Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt. 1. Sous le nom du dépôt, cliquez sur Sécurité.
-
À droite de « Alertes d’Code scanning », cliquez sur Configurer l’code scanning . Si « Alertes d’code scanning » n’est pas disponible, vous devez demander à un propriétaire d’organisation ou à un administrateur de dépôt d’activer GitHub Advanced Security. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre organisation » ou « Gestion des paramètres de sécurité et d’analyse pour votre dépôt ».
-
Sous « Bien démarrer avec l’code scanning », cliquez sur Configurer ce workflow sur le Workflow d’analyse CodeQL ou sur un workflow tiers.
Les workflows s’affichent uniquement s’ils sont pertinents pour les langages de programmation détectés dans le dépôt. Le Workflow d’analyse CodeQL est toujours affiché, mais le bouton « Configurer ce workflow » n’est activé que si l’analyse CodeQL prend en charge les langages présents dans le dépôt.
-
Pour personnaliser la façon dont l’code scanning analyse votre code, modifiez le workflow.
En règle générale, vous pouvez commiter le Workflow d’analyse CodeQL sans apporter aucun changement à celui-ci. Toutefois, de nombreux workflows tiers nécessitent une configuration supplémentaire. Lisez donc les commentaires dans le workflow avant de commiter.
Pour plus d’informations, consultez « Personnalisation de l’analyse du code ».
-
Cliquez sur Commiter les changements... pour afficher le formulaire de commit des changements.
-
Dans le champ de message de commit, tapez un message de commit.
-
Indiquez si vous voulez commiter directement dans la branche par défaut ou créer une branche et démarrer une demande de tirage (pull request).
-
Cliquez sur Valider le nouveau fichier ou Proposer un nouveau fichier.
Dans le Workflow d’analyse CodeQL suggéré, l’code scanning est configurée pour analyser votre code chaque fois que vous poussez un changement vers la branche par défaut ou des branches protégées, ou que vous déclenchez une demande de tirage (pull request) sur la branche par défaut. En conséquence, l’code scanning commence.
Les déclencheurs on:pull_request
et on:push
pour l’analyse du code sont chacun utiles à des fins différentes. Pour plus d’informations, consultez « Personnalisation de l’analyse du code ».
Configuration en bloc de l’code scanning
Vous pouvez configurer l’code scanning dans de nombreux référentiels à la fois avec un script. Si vous souhaitez utiliser un script pour déclencher des demandes de tirage qui ajoutent un workflow GitHub Actions à plusieurs dépôts, consultez le dépôt jhutchings1/Create-ActionsPRs
, pour obtenir un exemple utilisant PowerShell, ou nickliffen/ghas-enablement
, pour les équipes qui n’ont pas PowerShell et qui souhaitent utiliser NodeJS.
Affichage de la sortie de journalisation de l’code scanning
Après avoir configuré l’code scanning pour votre référentiel, vous pouvez regarder la sortie des actions à mesure qu’elles s’exécutent.
-
Sous le nom de votre dépôt, cliquez sur Actions.
La liste qui apparaît inclut une entrée pour l’exécution du workflow d’code scanning. Le texte de l’entrée est le titre que vous avez donné à votre message de commit.
-
Cliquez sur l’entrée de l’exécution du workflow d’code scanning.
-
Cliquez sur le nom du travail sur la gauche. Par exemple, Analyser (LANGAGE) .
-
Passez en revue la sortie de la journalisation des actions de ce workflow à mesure qu’elles s’exécutent.
-
Une fois tous les travaux terminés, vous pouvez afficher les détails de toutes les alertes de l’code scanning qui ont été identifiées. Pour plus d’informations, consultez « Gestion des alertes d’analyse du code pour votre référentiel ».
Présentation des vérifications des demandes de tirage
Pour chaque workflow d’code scanning configuré pour s’exécuter sur les demandes de tirage, il existe toujours au moins deux entrées dans la section des vérifications d’une demande de tirage. Il existe une entrée pour chacun des travaux d’analyse dans le workflow et une entrée finale pour les résultats de l’analyse.
Les noms des vérifications d’code scanning ont la forme suivante : « NOM DE L’OUTIL / NOM DU TRAVAIL (DÉCLENCHEUR) ». Par exemple, pour CodeQL, l’analyse du code C++ contient l’entrée « CodeQL / Analyser (cpp) (pull_request) ». Vous pouvez cliquer sur Détails sur une entrée d’code scanning pour afficher les données de journalisation. Ainsi, vous pouvez déboguer un problème si le travail d’analyse a échoué. Par exemple, pour l’code scanning des langages compilés, cela peut se produire si l’action ne peut pas générer le code.
Pendant l’exécution des travaux d’code scanning, GitHub détermine si des alertes ont été ajoutées par la demande de tirage et ajoute l’entrée « Résultats de l’Code scanning / NOM DE L’OUTIL » à la liste des vérifications. Après que l’code scanning a été effectuée au moins une fois, vous pouvez cliquer sur Détails pour afficher les résultats de l’analyse.
Étapes suivantes
Après avoir configuré l’code scanning et autorisé ses actions, vous pouvez :
- Afficher toutes les alertes d’code scanning générées pour ce dépôt. Pour plus d’informations, consultez « Gestion des alertes d’analyse du code pour votre référentiel ».
- Afficher toutes les alertes générées pour une demande de tirage envoyée après que vous avez configuré l’code scanning. Pour plus d’informations, consultez « Triage des alertes d’analyse du code dans les demandes de tirage (pull request) ».
- Configurer des notifications pour les exécutions terminées. Pour plus d’informations, consultez « Configuration des notifications ».
- Afficher les journaux générés par l’code scanning. Pour plus d’informations, consultez « Affichage des journaux d’analyse du code ».
- Examiner les problèmes qui se produisent avec la configuration initiale de l’code scanning CodeQL. Pour plus d’informations, consultez « Résolution des problèmes de workflow CodeQL ».
- Personnaliser la façon dont l’code scanning analyse le code dans votre dépôt. Pour plus d’informations, consultez « Personnalisation de l’analyse du code ».