コンテナ化されたビルドで code scanning を使用することについて
コンパイル言語用に code scanning をセットアップし、コンテナ化された環境でコードをビルドしようとすると、解析が失敗し、"No source code was seen during the build." というエラーメッセージが出る� �合があります。 これは、コードがコンパイルされているので CodeQL がコードをモニターできなかったことを示しています。
CodeQLは、コードをビルドするコンテナ内で実行しなければなりません。 This applies whether you are using the CodeQL CLI, the CodeQLランナー, or GitHub Actions. For the CodeQL CLI or the CodeQLランナー, see "Installing CodeQL CLI in your CI system" or "Running CodeQLランナー in your CI system" for more information. GitHub Actions を使用している� �合は、同じコンテナですべてのアクションを実行するようワークフローを設定します。 詳しい情� �については「ワークフローの例」を参照してく� さい。
依存関係
使用しているコンテナで特定の依存関係がない� �合 (たとえば、Git は PATH 変数にインストールされ、追� されている必要がある)、code scanning を実行する上で困難が生じる� �合があります。 依存関係の問題が生じた� �合は、GitHub の仮想環境に通常含まれているソフトウェアのリストを確認してく� さい。 詳しい情� �については、次の� �所にある特定のバージョンの readme
ファイルを参照してく� さい。
- Linux: https://github.com/actions/virtual-environments/tree/main/images/linux
- macOS: https://github.com/actions/virtual-environments/tree/main/images/macos
- Windows: https://github.com/actions/virtual-environments/tree/main/images/win
ワークフローの例
Note: This article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of GitHub Enterprise Server. If your enterprise uses a more recent version of the CodeQL action, see the GitHub Enterprise Cloud article for information on the latest features. For information on using the latest version, see "Configuring code scanning for your appliance."
このサンプルワークフローでは、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]
# 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