从2017年GitHub官方的blog 还在推荐使用外部的CI/CD 工具到2019.8-8 GitHub 官方宣布GitHub actions 支持CI/ CD.而其对所有开源项目免费。 Github DevOps 真的实现了。
此文主要参考和翻译Github 官方blog
https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/
那么什么是GitHub Actions 呢?它是GitHub上的应用程序编程接口(API)。它使您能够根据任何event 事件来协调任何工作流程,而GitHub可以管理执行,为您提供丰富的反馈并保证您流程的每一步的安全性。
使用GitHub Actions,工作流和步骤都可以在一个代码仓库中写好,因此您可以创建,共享,重用和fork您的软件开发实践.
快速的CI/CD,支持任何平台,任何语言,任何云
GitHub Actions现在可以更轻松地支持在任何平台(包括Linux,macOS和Windows)上构建,测试和部署项目的自动化方式以及在容器或虚拟机中运行工作流。 Actions还支持比以往更多的语言和框架,包括Node.js,Python,Java,PHP,Ruby,C / C ++,.NET,Android和iOS. 想要测试多容器应用程序?现在,您只需在工作流文件中添加一些docker-compose,即可测试您的Web服务及其数据库。
Matrix builds
通过Matrix构建,您可以轻松地并行测试项目的多个版本。在Actions YAML文件中添加几行,让GitHub处理剩下的事情。
实时的日志信息
实时日志可在运行时为构建过程提供丰富的反馈。 GitHub将您的日志流式传输到Actions控制台,以实时显示您的状态。日志格式化以便于阅读,包括表情符号。
并且您可以使用干净简单的永久链接深入链接到任何日志文件中的任何行,这样您就可以轻松地与朋友讨论构建失败或测试结果。
编写和重用代码等操作和工作流程
GitHub操作是代码 - 因此您可以像代码一样编辑,重用,共享和fork它们。当您fork代码仓库时,您将操作与源代码一起fork,为您提供使用与原始项目相同的操作来测试和构建项目的无缝切换。我们认为这是向社区学习的好方法,通过复制您喜欢的项目的每一步,然后fork,以满足您自己的要求。
Actions使用干净的新语法来表达基于YAML的工作流。您可以通过将操作和工作流引用为简单的代码仓库引用来重用它们,从而可以轻松地将它们拼接到强大的工作流中。用JavaScript编写或创建容器Action-都可以与完整的GitHub API和任何其他公共API进行交互。
您还可以重用Github合作伙伴的丰富行动生态系统,例如LaunchDarkly,mabl,Code Climate,GitKraken,甚至可以触发其他CI提供商(如CircleCI)的构建
自动化任何事件的工作流程 - 甚至是您自己的
GitHub Actions可帮助您构建,测试和部署应用程序,但您也可以使用它来自动执行开发人员工作流程中常见的其他任务:分类和管理问题,自动发布版本,与用户群协作等等。可以在GitHub上的开发人员生命周期中的 event事件上触发操作工作流。任何GitHub应用程序现在都可以添加自己的自定义事件,因此开发人员和合作伙伴可以自定义GitHub以满足任何项目的需求。
集成的包和容器上的构建
发布包和容器是任何CI / CD工作流的关键部分,例如开源库或部署大型Web服务。 GitHub Actions使得从GitHub Package Registry或任何其他registry发布和使用包变得容易。随着开发人员获得对Actions的访问权限,他们还可以在普遍可用之前访问GitHub Package Registry,以便跨越问题和代码(从构建到部署)自动化整个工作流
推荐工作流程使其易于上手
Github Actions希望让您尽可能轻松地开始使用CI / CD。现在,当您为存储库启用Actions时,GitHub将建议适合您项目的Actions工作流。
简单,对开源项目免费,对于私有代码库按需付费定价
我们希望每个开源项目都富有成效并使用最佳实践,因此GitHub上的4000万开发人员可以免费使用Actions来使用公共存储库。对于私有代码库,Actions提供简单的按需付费定价。如果您想在自己的硬件或其他云上运行,我们的自托管运行者可以免费使用。在测试期间,每个人都可以免费使用Actions。有关完整详细信息,请参阅注册页面上的定价部分。
下一步计划是什么?
在对Actions的更新中有很多令人兴奋的事情,还有很多东西要来。这儿是一些精彩片段:
self-hosted 运行者。如果您已在数据中心内拥有自己的虚拟机或在云中管理的实例,则可以使用操作以相同的简单性和速度自动化工作流。在VM上安装Actions运行器并使用Actions注册它们。在自托管运行程序上执行的工作负载是免费的。
GitHub Enterprise Server的操作。明年,Github actions 将向GitHub Enterprise Server客户提供操作,包括用于内部部署的混合选项,可将您的代码和软件包保存在数据中心,同时GitHub可以协调您的工作流程。
在正式版本开始之前还在等什么呢?赶快开始注册测试版本吧
https://github.com/features/actions