关于 CI 系统中的 CodeQL 代码扫描

您可以在第三方持续集成 系统中用 CodeQL 分析您的代码,并将结果上传到 您的 GitHub Enterprise Server 实例。 由此产生的 代码扫描 警报与 GitHub Enterprise Server 内生成的任何警报一起显示。

代码扫描 适用于启用了 GitHub Advanced Security 的组织拥有的仓库。 更多信息请参阅“关于 GitHub Advanced Security”。

注:站点管理员必须为 您的 GitHub Enterprise Server 实例 启用 代码扫描,然后您才可使用此功能。 更多信息请参阅“为设备配置 代码扫描”。

关于 CI 系统中的 CodeQL 代码扫描

代码扫描 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析发现的任何问题都显示在 GitHub Enterprise Server 中。 更多信息请参阅“关于 代码扫描”。

您可以使用操作在 GitHub Enterprise Server 内运行 CodeQL 代码扫描 。 或者,如果您使用第三方持续集成或持续交付/部署 (CI/CD) 系统,您可以在现有系统中运行 CodeQL 分析并将结果上传到 您的 GitHub Enterprise Server 实例。

将 CodeQL CLI 或 CodeQL runner 添加到第三方系统,然后调用工具分析代码并将 SARIF 结果上传到 GitHub Enterprise Server。 由此产生的 代码扫描 警报与 GitHub Enterprise Server 内生成的任何警报一起显示。

注:上传 SARIF 数据以显示为 GitHub Enterprise Server 中的 代码扫描 结果适用于启用了 GitHub Advanced Security 的组织拥有的仓库。 更多信息请参阅“管理仓库的安全和分析设置”。

比较 CodeQL CLI与 CodeQL runner

CodeQL CLI 是一个可用来分析代码的独立产品。 其主要用途是生成代码空间的数据库表示形式,即 CodeQL 数据库。 数据库准备就绪后,您可以进行交互式查询,或者运行一系列查询以生成一组 SARIF 格式的结果,然后将结果上传到 您的 GitHub Enterprise Server 实例。

CodeQL runner 是一个命令行工具,它使用 CodeQL CLI 分析代码并将结果上传到 GitHub Enterprise Server。 该工具使用操作在 GitHub Enterprise Server 内本地模拟分析运行。 运行器能够集成比 CLI 更复杂的构建环境,但这种能力会使设置更加困难和容易发生错误。 调试任何问题也更加困难。 一般情况下,最好直接使用 CodeQL CLI,除非它不支持您的用例。

使用 CodeQL CLI 分析:

  • 动态语言,例如 JavaScript 和 Python。
  • 具有编译语言的代码库,可以用单个命令或运行单个脚本来构建。

更多信息请参阅“在 CI 系统中运行 CodeQL CLI”。

如果您需要执行以下操作,则需要使用 CodeQL runner:

  • 设置 CI 系统以协调编译器调用以及运行 CodeQL 分析
  • 分析仓库中的多种语言。

更多信息请参阅“在 CI 系统中运行 CodeQL runner”。

此文档对您有帮助吗?隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。