尽管我们在上次触碰它时提出了谨慎的建议,但我们看到了对它的持续热情GitHub的行为.我们之前说的仍然是正确的:GitHub Actions还不是一个完整的CI/CD替代复杂的工作流程。例如,它不能重新触发工作流的单个作业、调用复合操作中的其他操作或支持共享库。此外,当生态系统在GitHub市场提供了明显的优势,给第三方GitHub行动访问您的构建管道的风险共享秘密以不安全的方式(我们建议遵循GitHub的建议安全性加强).尽管存在这些问题,但在GitHub中直接在源代码旁边创建构建工作流的便利对于一些团队来说是一个令人信服的选择行为帮助你在本地运行GitHub Actions。一如既往,我们建议对权衡进行清晰的评估,但我们的一些团队对GitHub Actions的简单性感到满意。
CI服务器和构建工具是我们工具包中最古老、使用最广泛的工具之一。它们运行的范围很广,从简单的云托管服务到复杂的、代码定义的、支持构建机器的管道服务器。鉴于我们的经验和现有的广泛选择,我们最初对GitHub的行为是作为管理构建和集成工作流的另一种机制引入的。但是对于开发人员来说,从小的、容易定制的行为开始的机会意味着GitHub Actions正在向较小项目的默认类别移动。将构建工具直接集成到源代码存储库中的便利性是无可争议的。围绕这个特性已经出现了一个热心的社区,这意味着可以开始使用大量用户贡献的工具和工作流。工具供应商也通过GitHub市场.不过,我们还是建议你谨慎行事。尽管代码和Git历史可以导出到备用主机,基于GitHub动作的开发工作流不能。此外,当一个项目足够大或足够复杂,需要使用独立支持的管道工具时,请使用您最好的判断。但要想在较小的项目中快速启动和运行,就必须考虑GitHub Actions以及围绕它们发展的生态系统。