注意:本文介绍了此版 GitHub Enterprise Server 的初始发行版中包含的 CodeQL 操作版本和相关 CodeQL CLI 捆绑包中可用的功能。 如果企业使用较新版本的 CodeQL 操作,请参阅本文的 GitHub Enterprise Cloud 版本,了解有关最新功能的信息。 有关使用最新版本的信息,请参阅“为设备配置代码扫描”。
如果使用的是高级设置,且工作流未显式指定要分析的语言,则 CodeQL 会隐式检测代码库中支持的语言。 在此配置中,对于编译语言 C/C++、C#、Go、Java、Kotlin 和 Swift,CodeQL 只分析源文件最多的语言。 编辑工作流并添加一个矩阵,以指定要分析的语言。 默认的 CodeQL 分析工作流将使用此类矩阵。
以下工作流程摘录显示了如何在作业策略中使用矩阵来指定语言,然后在“初始化 CodeQL”步骤中引用每种语言:
jobs:
analyze:
permissions:
security-events: write
actions: read
# ...
strategy:
fail-fast: false
matrix:
language: ['csharp', 'cpp', 'javascript']
steps:
# ...
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
有关编辑工作流的详细信息,请参阅“自定义代码扫描的高级设置”。