{"meta":{"title":"コンテナで CodeQL Code scanningを実行する","intro":"すべてのプロセスが同じコンテナーで実行されるようにすることで、コンテナーで code scanning を実行できます。","product":"セキュリティとコードの品質","breadcrumbs":[{"href":"/ja/enterprise-cloud@latest/code-security","title":"セキュリティとコードの品質"},{"href":"/ja/enterprise-cloud@latest/code-security/tutorials","title":"Tutorials"},{"href":"/ja/enterprise-cloud@latest/code-security/tutorials/customize-code-scanning","title":"コード スキャンをカスタマイズする"},{"href":"/ja/enterprise-cloud@latest/code-security/tutorials/customize-code-scanning/run-in-a-container","title":"コンテナーで実行する"}],"documentType":"article"},"body":"# コンテナで CodeQL Code scanningを実行する\n\nすべてのプロセスが同じコンテナーで実行されるようにすることで、コンテナーで code scanning を実行できます。\n\n## コンテナー化されたビルドを使用した code scanning について\n\nコンパイル済み言語の code scanning を構成していて、コンテナー化された環境でコードをビルドしている場合、\"ビルド中にソース コードが表示されませんでした\" というエラー メッセージで分析が失敗することがあります。 これは、コンパイル時 CodeQL コードを監視できなかったことを示します。\n\nコードをビルドするコンテナー内で CodeQL を実行する必要があります。 これは、 CodeQL CLI と GitHub Actionsのどちらを使用しているかに関係なく適用されます。\nCodeQL CLIについては、[既存の CI システムでコード スキャンを使用する](/ja/enterprise-cloud@latest/code-security/how-tos/find-and-fix-code-vulnerabilities/integrate-with-existing-tools/use-with-existing-ci-system) を参照してください。\nGitHub Actionsを使用している場合は、同じコンテナー内のすべてのアクションを実行するようにワークフローを構成します。 詳細については、「[ワークフローの例](#example-workflow)」を参照してください。\n\n> \\[!NOTE]\n> CodeQL CLI は現在、glibc 以外の Linux ディストリビューション ((musl ベースの) Alpine Linux など) との互換性がありません。\n\n## の依存関係 CodeQLcode scanning\n\n使用しているコンテナーに特定の依存関係がない場合(たとえば、Git をインストールして PATH 変数に追加する必要がある)、 code scanning の実行が困難な場合があります。 依存関係の問題が発生した場合は、 GitHubのランナー イメージに通常含まれるソフトウェアの一覧を確認します。 詳しくは、次の場所にある特定のバージョンの `readme` ファイルをご覧ください。\n\n* Linux： <https://github.com/actions/runner-images/tree/main/images/ubuntu>\n* Macos： <https://github.com/actions/runner-images/tree/main/images/macos>\n* ウィンドウズ： <https://github.com/actions/runner-images/tree/main/images/windows>\n\n## ワークフローの例\n\nこのサンプル ワークフローでは、 GitHub Actions を使用して、コンテナー化された環境で CodeQL 分析を実行します。 使用するコンテナーを識別する `container.image` の値。 この例では、イメージは、`codeql-container` のタグを持つ、`f0f91db` という名前です。 詳細については、「[GitHub Actions　のワークフロー構文](/ja/enterprise-cloud@latest/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idcontainer)」を参照してください。\n\n```yaml\nname: \"CodeQL\"\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n  schedule:\n    - cron: '15 5 * * 3'\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: ubuntu-latest\n    permissions:\n      security-events: write\n      actions: read\n\n    strategy:\n      fail-fast: false\n      matrix:\n        language: [java-kotlin]\n\n    # Specify the container in which actions will run\n    container:\n      image: codeql-container:f0f91db\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v6\n      - name: Initialize CodeQL\n        uses: github/codeql-action/init@v4\n        with:\n          languages: ${{ matrix.language }}\n      - name: Build\n        run: |\n          ./configure\n          make\n      - name: Perform CodeQL Analysis\n        uses: github/codeql-action/analyze@v4\n```"}