关于 code scanning 的高级设置
当你需要更精细地控制 code scanning 配置时,code scanning 的高级设置非常有用。 通过创建和编辑 CodeQL 工作流文件,可以更改扫描计划、扫描任何 CodeQL 支持的语言、使用矩阵生成等。
还可以使用第三方工具配置 code scanning。 有关详细信息,请参阅“使用第三方操作配置 code scanning”。
如果使用多个配置运行代码扫描,则有时多个配置会生成相同的警报。 如果警报来自多个配置,你可在警报页上查看每个配置的警报状态。 有关详细信息,请参阅“关于代码扫描警报”。
如果不需要高度可自定义的 code scanning 配置,请考虑使用 code scanning 的默认设置。 有关默认设置资格的详细信息,请参阅“配置代码扫描的默认设置”。
先决条件
如果你的存储库满足以下条件,则其符合使用高级设置的条件:
- 使用 CodeQL 支持的语言,或者你计划使用第三方工具生成代码扫描结果。
- 已启用 GitHub Actions。
- 公开可见。
为存储库配置高级设置
需要自定义 code scanning 时,code scanning 的高级设置非常有用。 通过创建和编辑工作流文件,可以选择要运行的查询、更改扫描计划、选择要扫描的语言、使用矩阵生成等。
使用 CodeQL 为 code scanning 配置高级设置
可以通过创建和编辑工作流文件来自定义 code scanning。 选择高级设置会生成一个基本工作流文件供你自定义。
使用操作运行 code scanning 将消耗分钟数。 有关详细信息,请参阅“关于 GitHub Actions 的计费”。
注意:可以在具有写入权限的任何公共存储库中配置 code scanning。
-
在 GitHub.com 上,导航到存储库的主页。
-
在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。
-
在边栏的“安全性”部分中,单击“ 代码安全性和分析”。
-
向下滚动到“Code scanning”部分,选择“设置”,然后单击“高级” 。
注意:如果要从默认设置切换到高级设置,请在“Code scanning”部分中,选择“”,然后单击 “切换到高级” 。 在出现的弹出窗口中,单击“禁用 CodeQL”。
-
要自定义 code scanning 扫描代码的方式,请编辑工作流程。
通常,可以提交 CodeQL 分析工作流程 而无需对其进行任何更改。 但是,许多第三方工作流需要额外的配置,因此请在提交之前读取工作流中的注释。
有关详细信息,请参阅“自定义 代码扫描的高级设置”和“对编译语言进行 CodeQL 代码扫描”。
-
单击“提交更改…”以显示提交更改窗体。
-
在“提交消息”字段中,键入提交消息。
-
选择是直接提交到默认分支,还是创建新分支并启动拉取请求。
-
单击“提交新文件”将工作流文件提交到默认分支或单击“建议新文件”将文件提交到新分支 。
-
如果创建了新分支,请单击“创建拉取请求”并打开拉取请求,将更改合并到默认分支。
在建议的 CodeQL 分析工作流程 中,code scanning 配置为在每次将更改推送到默认分支或任何受保护分支或者对默认分支提出拉取请求时分析代码。 因此,code scanning 将立即开始。
用于代码扫描的 on:pull_request
和 on:push
触发器各自用于不同的目的。 有关详细信息,请参阅“自定义 代码扫描的高级设置”。
有关批量启用的信息,请参阅“使用 CodeQL 大规模为代码扫描配置高级设置”。
使用第三方操作配置 code scanning
注意:Advanced Security 的初始工作流已合并到存储库的“操作”选项卡中的“安全”类别中。 这种新配置目前处于 beta 版本,可能会有变动。
GitHub 为 code scanning 等安全功能提供起始工作流。 您可以使用这些建议的工作流程来构建 code scanning 工作流程,而不是从头开始。
使用操作运行 code scanning 将消耗分钟数。 有关详细信息,请参阅“关于 GitHub Actions 的计费”。
-
在 GitHub.com 上,导航到存储库的主页。
-
在存储库名称下,单击 “操作”。
-
如果存储库已配置并运行至少一个工作流,请单击“新建工作流”以显示起始工作流。 如果当前没有为存储库配置工作流程,请转到下一步。
-
在“选择工作流”或“GitHub Actions 入门”视图中,向下滚动到“安全性”类别,然后单击要配置的工作流下的“配置”。 可能需要单击“查看全部”以查找要配置的安全工作流。
-
按照工作流中的任何说明,根据你的需要对其进行自定义。 有关工作流的更多常规帮助,请单击工作流页面右窗格中的“文档”。
有关详细信息,请参阅“使用入门工作流程”和“自定义 代码扫描的高级设置”。
后续步骤
配置 code scanning 并允许其操作完成后,你可以:
- 查看为此仓库生成的所有 code scanning 警报。 有关详细信息,请参阅“管理存储库的代码扫描警报”。
- 查看在配置 code scanning 后提交的拉取请求生成的任何警报。 有关详细信息,请参阅“鉴定拉取请求中的代码扫描警报”。
- 为已完成的运行配置通知。 有关详细信息,请参阅“配置通知”。
- 了解拉取请求的 code scanning 检查。 有关详细信息,“鉴定拉取请求中的代码扫描警报”。
- 查看由 code scanning 分析生成的日志。 有关详细信息,请参阅“查看代码扫描日志”。
- 调查初始配置 code scanning 时发生的任何问题。 有关详细信息,请参阅“代码扫描疑难解答”。
- 自定义 code scanning 如何扫描您的仓库中的代码。 有关详细信息,请参阅“自定义 代码扫描的高级设置”。