# 持续集成

你可以使用GitHub直接在你的GitHub Actions存储库中创建自定义持续集成（CI）工作流。

> \[!NOTE]
> GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。

## 关于持续集成

持续集成 (CI) 是一种需要频繁提交代码到共享仓库的软件实践。 频繁提交代码能较早检测到错误，减少在查找错误来源时开发者需要调试的代码量。 频繁的代码更新也更便于进行软件开发团队不同成员的更改的融合。 这对开发者非常有益，他们可以将更多时间用于编写代码，而减少在调试错误或解决合并冲突上所花的时间。

提交代码到仓库时，可以持续创建并测试代码，以确保提交未引入错误。 您的测试可以包括代码格式检查（用于检查样式格式）、安全性的检查、代码覆盖率的检查、功能测试及其他自定义检查。

创建和测试代码需要服务器。 您可以在推送代码到仓库之前在本地创建并测试更新，也可以使用 CI 服务器检查仓库中的新代码提交。

## 关于使用GitHub Actions进行持续集成

CI 使用 GitHub Actions 提供可在存储库中生成代码并运行测试的工作流。 工作流可以在托管的虚拟机或自己托管的计算机上运行 GitHub。 有关详细信息，请参阅 [GitHub 托管的运行程序](/zh/enterprise-server@3.22/actions/concepts/runners/github-hosted-runners) 和 [自托管运行程序](/zh/enterprise-server@3.22/actions/concepts/runners/self-hosted-runners)。

您可以将 CI 工作流配置为在发生 GitHub 事件时运行（例如，当新代码被推送到您的仓库时）、按预定计划运行，或者在外部事件发生时通过仓库 dispatch webhook 运行。

GitHub 运行 CI 测试，并在拉取请求中提供每个测试的结果，以便你可以看到分支中的更改是否引入了错误。 如果工作流程中的所有 CI 测试通过，您推送的更改可供团队成员审查或合并 如果测试失败，则是其中某项更改导致了失败。

在存储库中设置 CI 时， GitHub 分析存储库中的代码，并根据存储库中的语言和框架建议 CI 工作流。 例如，如果使用 [Node.js](https://nodejs.org/en/)， GitHub 则建议使用工作流模板来安装 Node.js 包并运行测试。 可以使用建议的 GitHubCI 工作流模板、自定义建议的工作流模板，或创建自己的自定义工作流文件来运行 CI 测试。

除了帮助为项目设置 CI 工作流外，还可以用于 GitHub Actions 在整个软件开发生命周期中创建工作流。 例如，您可以使用操作来部署、封装或发行项目。 有关详细信息，请参阅“[撰写工作流程](/zh/enterprise-server@3.22/actions/how-tos/write-workflows)”。

有关常见术语的定义，请参阅“[了解GitHub Actions](/zh/enterprise-server@3.22/actions/get-started/understand-github-actions)”。

## 后续步骤

GitHub 为各种语言和框架提供 CI 工作流模板。 有关使用这些模板设置持续集成的教程，请参阅 [构建和测试代码](/zh/enterprise-server@3.22/actions/tutorials/build-and-test-code)。