Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

コンテナで CodeQL Code scanningを実行する

すべてのプロセスが同じコンテナで動作するようにすることで、code scanning を実行できます。

Code scanning is available for organization-owned repositories where GitHub Advanced Security is enabled. 詳しい情� �については、「GitHub Advanced Security について」を参照してく� さい。

コンテナ化されたビルドで code scanning を使用することについて

コンパイル言語用に code scanning をセットアップし、コンテナ化された環境でコードをビルドしようとすると、解析が失敗し、"No source code was seen during the build." というエラーメッセージが出る� �合があります。 これは、コードがコンパイルされているので CodeQL がコードをモニターできなかったことを示しています。

CodeQLは、コードをビルドするコンテナ内で実行しなければなりません。 これは、CodeQL CLI、CodeQLランナー、GitHub Actionsのいずれを使っていても当てはまります。 CodeQL CLIあるいはCodeQLランナーについては、詳しい情� �は「CIシステ� へのCodeQL CLIのインストール」あるいは「CIシステ� でのCodeQLランナーの実行」を参照してく� さい。 GitHub Actions を使用している� �合は、同じコンテナですべてのアクションを実行するようワークフローを設定します。 詳しい情� �については「ワークフローの例」を参照してく� さい。

依存関係

使用しているコンテナで特定の依存関係がない� �合 (たとえば、Git は PATH 変数にインストールされ、追� されている必要がある)、code scanning を実行する上で困難が生じる� �合があります。 依存関係の問題が生じた� �合は、GitHub の仮想環境に通常含まれているソフトウェアのリストを確認してく� さい。 詳しい情� �については、次の� �所にある特定のバージョンの readme ファイルを参照してく� さい。

ワークフローの例

ノート: この記事は、GitHub Enterprise Serverのこのバージョンにおける初期リリースに含まれる、このバージョンのCodeQLアクション及び関連するCodeQL CLIバンドルで利用できる機能について説明しています。 Enterpriseでさらに最近のバージョンのCodeQLアクションを使っているなら、最新機能に関する情� �についてはGitHub Enterprise Cloudの記事を参照してく� さい。最新バージョンの利用に関する情� �については「アプライアンスでのCode scanningの設定」を参照してく� さい。

このサンプルワークフローでは、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

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

    # アクションが実行されるコンテナを指定
    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