Skip to main content

为设备配置代码扫描

谁可以使用此功能?

Code scanning 可用于以下存储库类型:

Code scanning 是一项功能,可用于分析 仓库中的代码,以查找安全漏洞和编码错误。 分析标识的任何问题都显示在存储库中。

您可以配置 code scanning 以运行 CodeQL 分析和第三方分析。 Code scanning 还支持使用 Actions 在本机运行分析,或使用现有 CI/CD 基础结构在外部运行分析。 下面的要点总结了在配置 你的 Enterprise Server 实例 以允许使用操作进行 code scanning 时用户可用的选项。

可通过查看企业设置来确定企业是否具有 Advanced Security 产品许可证。 有关详细信息,请参阅“为企业启用 Advanced Security 产品”。

可以使用一个 Actions 工作流运行 code scanning。 首先,您需要在环境中预配一个或多个自托管的 Actions 运行器。 您可以在仓库、组织或企业帐户级别预配自托管运行器。 请参阅“关于自托管运行程序”和“添加自托管的运行器”。

您必须确保 Git 在用于运行 CodeQL 操作的任何自托管运行器上的 PATH 变量中。

注意

如果在企业中使用 CodeQL code scanning 分析用 Python 编写的代码,则必须确保自托管运行器已安装 Python 3。

可以使用 Actions Runner Controller 为 Enterprise Server 实例创建专用运行器规模集。 请参阅“使用 Actions Runner Controller 部署运行器规模集”。

如果您要使用操作在 Enterprise Server 上运行 code scanning,操作必须在您的设备上可用。

CodeQL 操作包含在您安装的 Enterprise Server 中。 如果 Enterprise Server 3.17 和 Actions 运行器均可访问 Internet,则操作将自动下载执行分析所需的 CodeQL 2.20.7 捆绑包。 或者,你也可以使用同步工具使最新发布版本的 CodeQL 分析包在本地可用。 请参阅下面的“在没有互联网接入的服务器上配置 CodeQL 分析”。

您也可以通过设置 Connect,使第三方操作可供 code scanning 的用户使用。 请参阅下面的“为设备配置代码扫描”。

如果您在上面运行 Enterprise Server 的服务器未连接到互联网,但您要允许用户对其仓库启用 CodeQL code scanning,则您必须使用 CodeQL 操作同步工具将 CodeQL 分析包从 .com 复制到您的服务器。 该工具及其用法的详细信息在 https://.com//codeql-action-sync-tool 提供。

如果配置 CodeQL 操作同步工具,可以使用它来同步最新发布的 CodeQL 操作和相关的 CodeQL 分析包。 这些兼容 Enterprise Server。

  1. 如果要从 .com 下载按需操作工作流程,则需要启用 Connect。 请参阅“在 .com 上启用 Connect”。
  2. 还需要启用 Actions。 请参阅“ Actions for Enterprise Server 使用入门”。
  3. 下一步是使用 Connect 配置对 .com 上的操作的访问权限。 请参阅“使用 Connect 启用对 .com 操作的自动访问”。
  4. 将自托管运行器添加到仓库、组织或企业帐户。 请参阅“添加自托管的运行器”。

如果不想使用 Actions,应该使用 CodeQL CLI 运行 code scanning。

CodeQL CLI 是一个命令行工具,可用于分析任何计算机上的代码库,包括第三方 CI/CD 系统。 请参阅“在现有 CI 系统上使用代码扫描”。