关于使用 CodeQL 大规模为 code scanning 启用高级设置
如果需要为组织中的许多存储库配置高度可自定义的 code scanning 设置,或者如果组织中的存储库不适合进行默认设置,可以使用高级设置大规模启用 code scanning。
若要跨多个存储库启用高级设置,可以编写批量配置脚本。 若要成功执行脚本,必须为组织或企业启用 GitHub Actions。
或者,如果你不需要对组织中许多存储库的 code scanning 配置进行精细控制,可以使用默认设置快速轻松地大规模配置 code scanning。 有关详细信息,请参阅“配置大规模代码扫描的默认设置”。
使用脚本启用高级设置
对于不符合默认设置条件的存储库,可以使用批量配置脚本跨多个存储库启用高级设置。
- 确定一组可以使用相同的 code scanning 配置进行分析的存储库。 例如,所有使用生产环境生成 Java 项目的存储库。
- 创建并测试 GitHub Actions 工作流,以使用适当的配置调用 CodeQL 操作。 有关详细信息,请参阅“配置代码扫描的高级设置”。
- 使用其中一个示例脚本创建自定义脚本,或以将工作流添加到组中的每个存储库。
- PowerShell 示例:
jhutchings1/Create-ActionsPRs
存储库 - NodeJS 示例:
nickliffen/ghas-enablement
存储库 - Python 示例:
Malwarebytes/ghas-cli
存储库
- PowerShell 示例:
利用模型包扩展 CodeQL 覆盖率
**注意:**CodeQL 模型包和 CodeQL 模型编辑器当前为 公共预览版,可能随时更改。 模型包由 C#、Java/Kotlin、Python,以及 Ruby 分析支持。
如果代码库依赖于 CodeQL 中的标准查询无法识别的库或框架,则可以通过指定已发布的 CodeQL 模型包来扩展批量配置脚本中的 CodeQL 覆盖范围。 有关详细信息,请参阅“自定义代码扫描的高级设置”。
或者,如果你不需要对组织中许多存储库的 code scanning 配置进行精细控制,可以使用默认设置快速轻松地大规模配置 code scanning 的模型包。 有关详细信息,请参阅“编辑默认设置配置”。