Skip to main content

使用 CodeQL 大规模为代码扫描配置高级设置

可以使用脚本为组织中的特定存储库组配置 code scanning 的高级设置。

谁可以使用此功能?

Code scanning 可用于 GitHub.com 上的所有公共存储库。 若要在组织拥有的专用存储库中使用 code scanning,必须具有 GitHub Advanced Security 许可证。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

关于使用 CodeQL 大规模为 code scanning 启用高级设置

如果需要为组织中的许多存储库配置高度可自定义的 code scanning 设置,或者如果组织中的存储库不适合进行默认设置,可以使用高级设置大规模启用 code scanning。

若要跨多个存储库启用高级设置,可以编写批量配置脚本。 若要成功执行脚本,必须为组织或企业启用 GitHub Actions。

或者,如果你不需要对组织中许多存储库的 code scanning 配置进行精细控制,可以使用默认设置快速轻松地大规模配置 code scanning。 有关详细信息,请参阅“配置大规模代码扫描的默认设置”。

使用脚本启用高级设置

对于不符合默认设置条件的存储库,可以使用批量配置脚本跨多个存储库启用高级设置。

  1. 确定一组可以使用相同的 code scanning 配置进行分析的存储库。 例如,所有使用生产环境生成 Java 项目的存储库。
  2. 创建并测试 GitHub Actions 工作流,以使用适当的配置调用 CodeQL 操作。 有关详细信息,请参阅“配置代码扫描的高级设置”。
  3. 使用其中一个示例脚本创建自定义脚本,或以将工作流添加到组中的每个存储库。

利用模型包扩展 CodeQL 覆盖率

**注意:**CodeQL 模型包和 CodeQL 模型编辑器当前为 beta 版本,可能会发生更改。 在 beta 版本中,模型包仅受 C#, Java/Kotlin, 以及 Ruby 分析的支持。

如果代码库依赖于 CodeQL 中的标准查询无法识别的库或框架,则可以通过指定已发布的 CodeQL 模型包来扩展批量配置脚本中的 CodeQL 覆盖范围。 有关详细信息,请参阅“自定义代码扫描的高级设置”。

或者,如果你不需要对组织中许多存储库的 code scanning 配置进行精细控制,可以使用默认设置快速轻松地大规模配置 code scanning 的模型包。 有关详细信息,请参阅“编辑默认设置配置”。