コンテナ化されたビルドで code scanning を使用することについて
コンパイル言語用に code scanning をセットアップし、コンテナ化された環境でコードをビルドしようとすると、解析が失敗し、"No source code was seen during the build." というエラーメッセージが出る� �合があります。 これは、コードがコンパイルされているので CodeQL がコードをモニターできなかったことを示しています。
CodeQLは、コードをビルドするコンテナ内で実行しなければなりません。 これは、CodeQL CLI、CodeQL runner、または GitHub Actions のいずれを使っていても当てはまります。 CodeQL CLI または CodeQL runnerの� �合、詳しくは、「CI システ� に CodeQL CLI をインストールする」または「CI システ� で CodeQL runner を実行する」をご覧く� さい。 GitHub Actions を使用している� �合は、同じコンテナですべてのアクションを実行するようワークフローを設定します。 詳しくは、「ワークフローの例」をご覧く� さい。
メモ: CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。
依存関係
使用しているコンテナで特定の依存関係がない� �合 (たとえば、Git は PATH 変数にインストールされ、追� されている必要がある)、code scanning を実行する上で困難が生じる� �合があります。 依存関係の問題が生じた� �合は、GitHub のランナー イメージに通常含まれているソフトウェアのリストを確認してく� さい。 詳しくは、次の� �所にある特定のバージョンの readme ファイルをご覧く� さい。
- Linux: https://github.com/actions/runner-images/tree/main/images/linux
 - macOS: https://github.com/actions/runner-images/tree/main/images/macos
 - Windows: https://github.com/actions/runner-images/tree/main/images/win
 
ワークフローの例
メモ: この記事では、このバージョンの GitHub Enterprise Server の初期リリースに含まれる CodeQL アクションのバージョンおよび関連する CodeQL CLI バンドルで使用できる機能について説明します。 企業で CodeQL アクションのより新しいバージョンを使っている� �合、最新機能について詳しくは、GitHub Enterprise Cloud に関する記事をご覧く� さい。最新バージョンの使用については、「アプライアンスのコード スキャンの構成」をご覧く� さい。
このサンプルワークフローでは、GitHub Actions を使用して、コンテナ化された環境において CodeQL 解析を実行します。 使用するコンテナーを識別する container.image の値。 この例では、イメージは、f0f91db のタグを持つ、codeql-container という名前です。 詳細については、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]
    # Specify the container in which actions will run
    container:
      image: codeql-container:f0f91db
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v1
        with:
          languages: ${{ matrix.language }}
      - name: Build
        run: |
          ./configure
          make
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v1