Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2026-06-02. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Exécution de l’analyse du code CodeQL dans un conteneur

Vous pouvez exécuter code scanning dans un conteneur en vous assurant que tous les processus s’exécutent dans le même conteneur.

Qui peut utiliser cette fonctionnalité ?

Code scanning est disponible pour les types de référentiels suivants :

  • Des référentiels publics sur GitHub.com
  • Référentiels appartenant à l’organisation sur GitHub Team, GitHub Enterprise Cloud, ou GitHub Enterprise Server, avec GitHub Advanced Security activé.

À propos de code scanning avec une compilation conteneurisée

Si vous configurez code scanning pour un langage compilé et que vous générez le code dans un environnement conteneurisé, l’analyse peut échouer avec le message d’erreur « Aucun code source n’a été vu pendant la génération ». Cela indique qu’il CodeQL n’a pas pu surveiller votre code tel qu’il a été compilé.

Vous devez exécuter CodeQL à l’intérieur du conteneur dans lequel vous générez votre code. Cela s’applique si vous utilisez le CodeQL CLI ou GitHub Actions. Pour le CodeQL CLI, consultez Utilisation de l’analyse du code avec votre système CI existant pour plus d’informations. Si vous utilisez GitHub Actions, configurez votre flux de travail pour exécuter toutes les actions dans le même conteneur. Pour plus d’informations, consultez Exemple de workflow.

Remarque

CodeQL CLI n’est actuellement pas compatible avec les distributions Linux non-glibc comme Alpine Linux (basée sur musl).

Dépendances pour CodeQLcode scanning

Vous pouvez avoir des difficultés à s’exécuter code scanning si le conteneur que vous utilisez manque certaines dépendances (par exemple, Git doit être installé et ajouté à la variable PATH). Si vous rencontrez des problèmes de dépendance, consultez la liste des logiciels habituellement inclus dans les images de runner de GitHub. Pour plus d’informations, consultez les fichiers readme spécifiques à la version dans ces emplacements :

Exemple de flux de travail

Remarque

Cet article décrit les fonctionnalités disponibles avec la version de l’action CodeQL et le pack 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.

Cet exemple de flux de travail utilise GitHub Actions pour exécuter CodeQL l’analyse dans un environnement conteneurisé. La valeur de container.image identifie le conteneur à utiliser. Dans cet exemple, l’image est nommée codeql-container et porte l’étiquette f0f91db. Pour plus d’informations, consultez « Syntaxe de flux de travail pour GitHub Actions ».

name: "CodeQL"

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '15 5 * * 3'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      actions: read

    strategy:
      fail-fast: false
      matrix:
        language: [java-kotlin]

    # Specify the container in which actions will run
    container:
      image: codeql-container:f0f91db

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v4
        with:
          languages: ${{ matrix.language }}
      - name: Build
        run: |
          ./configure
          make
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v4