コンテナー化されたビルドを使用した code scanning について
コンパイル済み言語の code scanning を構成していて、コンテナー化された環境でコードをビルドしている場合、"ビルド中にソース コードが表示されませんでした" というエラー メッセージで分析が失敗することがあります。 これは、コンパイル時 CodeQL コードを監視できなかったことを示します。
コードをビルドするコンテナー内で CodeQL を実行する必要があります。 これは、 CodeQL CLI と GitHub Actionsのどちらを使用しているかに関係なく適用されます。 CodeQL CLIについては、既存の CI システムでコード スキャンを使用する を参照してください。 GitHub Actionsを使用している場合は、同じコンテナー内のすべてのアクションを実行するようにワークフローを構成します。 詳細については、「ワークフローの例」を参照してください。
メモ
CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。
の依存関係 CodeQLcode scanning
使用しているコンテナーに特定の依存関係がない場合(たとえば、Git をインストールして PATH 変数に追加する必要がある)、 code scanning の実行が困難な場合があります。 依存関係の問題が発生した場合は、 GitHubのランナー イメージに通常含まれるソフトウェアの一覧を確認します。 詳しくは、次の場所にある特定のバージョンの readme ファイルをご覧ください。
- Linux: https://github.com/actions/runner-images/tree/main/images/ubuntu
- Macos: https://github.com/actions/runner-images/tree/main/images/macos
- ウィンドウズ: https://github.com/actions/runner-images/tree/main/images/windows
ワークフローの例
メモ
この記事では、このバージョンの CodeQL の初期リリースに含まれる CodeQL CLI アクションのバージョンおよび関連する GitHub Enterprise Server バンドルで使用できる機能について説明します。 エンタープライズでより新しいバージョンの CodeQL アクションを使用する場合は、この記事の GitHub Enterprise Cloud バージョンで最新の機能に関する情報を参照してください。 最新バージョンの使用方法については、「アプライアンスのコード スキャンの構成」を参照してください。
このサンプル ワークフローでは、 GitHub Actions を使用して、コンテナー化された環境で CodeQL 分析を実行します。 使用するコンテナーを識別する container.image の値。 この例では、イメージは、codeql-container のタグを持つ、f0f91db という名前です。 詳細については、「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