Skip to main content

存储库正在使用现有高级设置进行代码扫描

尝试将启用了默认代码扫描的 security configuration 附加到对代码扫描使用高级设置的存储库时出现错误。

谁可以使用此功能?

具有管理员角色的组织所有者、安全管理员和组织成员

关于问题

无法成功将 code scanning 默认设置为“Enabled”的 security configuration 应用到对 code scanning 具有高级设置的活动配置的目标仓库。 高级设置是为满足应用仓库的特定安全需求而定制的,因此不应大规模替代。

处于活动状态的高级设置

如果尝试将 code scanning 设置为“Enabled”的 security configuration 附加到已使用高级设置的存储库,则安全设置将按如下方式应用:

  • 不会启用 Code scanning 默认设置,高级设置会继续正常运行。****
  • 将启用配置中启用的其他所有安全功能。****
  • security configuration 不会附加到存储库,因为仅启用了配置中的某些功能。****

高级设置处于非活动状态或不存在

如果存储库满足以下任一条件,则存储库的高级设置将被视为处于非活动状态:****

  • 最新的 CodeQL 分析已超过 90 天。
  • 所有 CodeQL 配置均已删除。
  • 工作流文件已删除或禁用(仅适用于使用操作运行的高级设置)。

如果没有高级设置或高级设置处于非活动状态,则默认设置处于启用状态,并且按预期应用 security configuration。

解决问题

有三种方法可以解决此问题:

  1. 在 security configuration 中将“Default setup”选项从“Enabled”更改为“Enabled with advanced setup allowed"。**** 选项从 GitHub Enterprise Server 3.19 开始可用。 编辑 security configuration 后,将其重新应用到存储库。 有关详细信息,请参阅“删除自定义安全配置”。
  2. 更新受影响的存储库,以便在存储库级别对 code scanning 使用默认设置,然后将 security configuration 重新应用到存储库。**** 有关详细信息,请参阅“配置代码扫描的默认设置”。
  3. 创建新的自定义 security configuration,并且其中不包含 code scanning 的设置,然后将此 security configuration 应用于使用高级设置的存储库。**** 有关详细信息,请参阅“删除自定义安全配置”。