如果不需要高度自定义code scanning的配置,请考虑使用默认设置。code scanning 有关详细信息,请参阅“关于代码扫描的设置类型”。
先决条件
如果存储库满足这些要求,则其符合使用高级设置的条件。
- 它使用CodeQL支持的语言,或者你计划使用第三方工具生成代码扫描结果。
- 已启用 GitHub Actions。
- 它公开可见,或已启用 GitHub Code Security。
配置 code scanning 的高级设置,使用 CodeQL
可以自定义 CodeQL 分析,通过创建和编辑工作流文件。 选择高级配置会生成一个基本工作流文件,以便您使用标准工作流语法自定义并指定 CodeQL 动作的选项。 请参阅 工作流 和 代码扫描的工作流配置选项。
使用操作运行 code scanning 将消耗分钟数。 有关详细信息,请参阅“GitHub Actions计费”。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“Security”部分中,单击“ Advanced Security”****。
-
向下滚动到“Code Security”,在“CodeQL 分析”行中选择“ 设置”,然后单击“ 高级”。
注意
如果要从默认设置切换到高级设置,请在“分析”CodeQL 行 中选择,然后单击“ 切换到高级”。 在显示的弹出窗口中,单击“ 禁用 CodeQL”。

-
若要自定义 code scanning 扫描代码的方式,请编辑工作流。
通常,可以提交 CodeQL 分析工作流程 而不对其进行任何更改。 但是,许多第三方工作流需要额外的配置,因此请在提交之前读取工作流中的注释。
有关详细信息,请参阅 代码扫描的工作流配置选项 和 对编译语言进行 CodeQL 代码扫描。
-
单击“提交更改...”**** 以显示提交更改表单。

-
在“提交消息”字段中,键入提交消息。
-
选择是直接提交到默认分支,还是创建新分支并启动拉取请求。
-
单击“提交新文件”**** 将工作流文件提交到默认分支,或单击“提议新文件”**** 将文件提交到新分支。
-
如果创建了新分支,单击“创建拉取请求”**** 并打开一个拉取请求,将你的更改合并到默认分支。
在建议 CodeQL 分析工作流程中, code scanning 配置为在每次将更改推送到默认分支或任何受保护的分支时分析代码,或针对默认分支提出拉取请求。 因此, code scanning 现在将开始。
用于代码扫描的 on:pull_request 和 on:push 触发器各自用于不同的目的。 请参阅 代码扫描的工作流配置选项 和 触发工作流程。
有关批量启用的信息,请参阅 使用 CodeQL 大规模为代码扫描配置高级设置。
使用第三方操作进行配置code scanning
GitHub 包括用于第三方操作的工作流模板,以及 CodeQL 操作。 使用工作流模板比徒手编写工作流容易得多。
使用操作运行 code scanning 将消耗分钟数。 有关详细信息,请参阅“GitHub Actions计费”。
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击“ Actions”****。

-
如果存储库已经配置并运行了至少一个工作流,单击“新建工作流”**** 以显示工作流模板。 如果当前没有为存储库配置工作流程,请转到下一步。

-
在“选择工作流”或“开始使用 GitHub Actions”视图中,向下滚动到“安全性”类别,然后单击要配置的工作流下的“ 配置 ”。 你可能需要单击“查看全部”**** 才能找到要配置的安全工作流。

-
按照工作流中的任何说明,根据你的需要对其进行自定义。 有关工作流的更多一般帮助,请单击工作流页面右侧窗格中的“文档”****。

-
完成配置定义后,将新工作流添加到默认分支。
有关详细信息,请参阅 使用工作流模板 和 代码扫描的工作流配置选项。
后续步骤
工作流成功运行至少一次后,即可开始检查和解决 code scanning 警报。 有关警报的详细信息 code scanning ,请参阅 关于代码扫描警报 和 访问存储库的代码扫描警报。
了解运行在 code scanning 拉取请求上的行为方式,请参阅 鉴定拉取请求中的代码扫描警报。
可以在工具状态页上找到有关 code scanning 配置的详细信息,包括每个扫描的时间戳和扫描的文件百分比。 有关详细信息,请参阅“使用工具状态页进行代码扫描”。
延伸阅读
-
[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests)。 -
[AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options)。 -
[AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning)。 -
[AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs)。