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

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

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

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

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

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

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

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

比较 CodeQL CLI与 CodeQL runner

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

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

使用 CodeQL CLI 分析:

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

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

如果需要设置 CI 系统以协调编译器调用以及运行 CodeQL 分析,您必须使用 CodeQL runner。

注意:CodeQL runner 目前处于测试阶段,可能会更改。

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

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

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

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

做出贡献

或, 了解如何参与。