关于问题
无法成功将 code scanning 默认设置为“Enabled”的 security configuration 应用到对 code scanning 具有高级设置的活动配置的目标仓库。 高级设置是为满足应用仓库的特定安全需求而定制的,因此不应大规模替代。
处于活动状态的高级设置
如果尝试将 code scanning 设置为“Enabled”的 security configuration 附加到已使用高级设置的存储库,则安全设置将按如下方式应用:
- 不会启用 Code scanning 默认设置,高级设置会继续正常运行。****
- 将启用配置中启用的其他所有安全功能。****
- security configuration 不会附加到存储库,因为仅启用了配置中的某些功能。****
高级设置处于非活动状态或不存在
如果存储库满足以下任一条件,则存储库的高级设置将被视为处于非活动状态:****
- 最新的 CodeQL 分析已超过 90 天。
- 所有 CodeQL 配置均已删除。
- 工作流文件已删除或禁用(仅适用于使用操作运行的高级设置)。
如果没有高级设置或高级设置处于非活动状态,则默认设置处于启用状态,并且按预期应用 security configuration。
解决问题
有三种方法可以解决此问题:
- 在 security configuration 中将“Default setup”选项从“Enabled”更改为“Enabled with advanced setup allowed"。**** 选项从 GitHub Enterprise Server 3.19 开始可用。 编辑 security configuration 后,将其重新应用到存储库。 有关详细信息,请参阅“删除自定义安全配置”。
- 更新受影响的存储库,以便在存储库级别对 code scanning 使用默认设置,然后将 security configuration 重新应用到存储库。**** 有关详细信息,请参阅“配置代码扫描的默认设置”。
- 创建新的自定义 security configuration,并且其中不包含 code scanning 的设置,然后将此 security configuration 应用于使用高级设置的存储库。**** 有关详细信息,请参阅“删除自定义安全配置”。