代码扫描 是一项功能，可用于分析 GitHub 仓库中的代码，以查找安全漏洞和编码错误。 分析发现的任何问题都显示在 GitHub Enterprise Server 中。
You can configure 代码扫描 to run CodeQL analysis and third-party analysis. 代码扫描 also supports running analysis natively using GitHub Actions or externally using existing CI/CD infrastructure. The table below summarizes all the options available to users when you configure your GitHub Enterprise Server instance to allow 代码扫描 using actions.
You can identify if your enterprise has a GitHub Advanced Security license by reviewing your enterprise settings. For more information, see "Enabling GitHub Advanced Security for your enterprise."
A license for GitHub Advanced Security (see "About billing for GitHub Advanced Security")
代码扫描 enabled in the management console (see "Enabling GitHub Advanced Security for your enterprise")
A VM or container for 代码扫描 analysis to run in.
GitHub Enterprise Server can run 代码扫描 using a GitHub Actions workflow. First, you need to provision one or more self-hosted GitHub Actions runners in your environment. You can provision self-hosted runners at the repository, organization, or enterprise account level. For more information, see "About self-hosted runners" and "Adding self-hosted runners."
You must ensure that Git is in the PATH variable on any self-hosted runners you use to run CodeQL actions.
If you want to use actions to run 代码扫描 on GitHub Enterprise Server, the actions must be available on your appliance.
The CodeQL action is included in your installation of GitHub Enterprise Server. If GitHub Enterprise Server has access to the internet, the action will automatically download the CodeQL bundle required to perform analysis. Alternatively, you can use a synchronization tool to make the CodeQL analysis bundle available locally. For more information, see "Configuring CodeQL analysis on a server without internet access" below.
You can also make third-party actions available to users for 代码扫描, by setting up GitHub Connect. For more information, see "Configuring GitHub Connect to sync GitHub Actions" below.
If the server on which you are running GitHub Enterprise Server is not connected to the internet, and you want to allow users to enable CodeQL 代码扫描 for their repositories, you must use the CodeQL action sync tool to copy the CodeQL analysis bundle from GitHub.com to your server. The tool, and details of how to use it, are available at https://github.com/github/codeql-action-sync-tool.
If you set up the CodeQL action sync tool, you can use it to sync the latest releases of the CodeQL action and associated CodeQL analysis bundle. These are compatible with GitHub Enterprise Server.
- If you want to download action workflows on demand from GitHub.com, you need to enable GitHub Connect. For more information, see "Enabling GitHub Connect."
- You'll also need to enable GitHub Actions for your GitHub Enterprise Server instance. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
- The next step is to configure access to actions on GitHub.com using GitHub Connect. For more information, see "Enabling automatic access to GitHub.com actions using GitHub Connect."
- Add a self-hosted runner to your repository, organization, or enterprise account. For more information, see "Adding self-hosted runners."
If you don't want to use GitHub Actions, you can run 代码扫描 using the CodeQL runner.
The CodeQL runner is a command-line tool that you can add to your third-party CI/CD system. The tool runs CodeQL analysis on a checkout of a GitHub repository. For more information, see "Running 代码扫描 in your CI system."