总结
在本章中,您了解了两种用于运行工作流的托管选项:
-
GitHub 托管的运行器
-
自托管的运行器
我们解释了自托管运行器如何让您在混合云场景中运行 GitHub。您学习了如何设置自托管运行器,并了解了如何构建您自己的弹性可扩展构建环境的相关信息。
在下一章中,您将学习如何使用 GitHub Packages 管理代码依赖。
案例研究
Tailwind Gears 的两个试点团队在新平台上开始了他们的第一个冲刺。首先,他们自动化了构建过程,以便在合并之前能够构建所有的拉取请求。Tailwind Gears 尽可能使用 GitHub 托管的运行器。大多数软件的构建都很顺利。然而,一些用 C 编写的代码使用了较旧的编译器版本,并且依赖于当前构建机器上安装的其他依赖项。这些代码目前在两个由开发人员自己维护的本地 Jenkins 服务器上构建。这些服务器还连接到用于硬件回路测试的硬件。为了实现轻松过渡,团队在这些机器上安装了自托管运行器,并且构建运行正常。IT 部门反正也想摆脱本地服务器,因此他们与 GitHub 合作,共同构建了一个弹性、可扩展的、基于容器的解决方案,该解决方案可以运行具有访问附加硬件能力的自定义镜像。
进一步阅读
有关本章主题的更多信息,您可以参考以下资源:
-
使用 GitHub 托管的运行器: https://docs.github.com/en/actions/using-github-hosted-runners
-
托管您自己的运行器: https://docs.github.com/en/actions/hosting-your-own-runners
-
awesome-runners – 一个精心策划的 GitHub Action 自托管运行器解决方案列表,并提供了一个大型比较矩阵: https://jonico.github.io/awesome-runners