GitHub Action 是一个由 GitHub 官方提供的非常流行且速度集成的持续集成和持续交付(CI/CD)工具。它允许你在 GitHub 仓库中自动化、定制和执行软件开发工作流。你可以发现、创建和分享用于执行任何你想要的工作的操作,包括 CI/CD,并在完全定制的工作流中组合操作。
持续集成需要做如下的工作:就拿我们公司来讲,有一个很严格和规范的流程来卡主开发提交代码并 check 其工作流来保证代码的质量和流程的规范化运作,这也是属于项目管理的一部分,并通过长期实践已融入血液中。
先来看看 GitHub Actions 都有哪些功能吧:AI 时代不懂的问 KIMI Prompt:
(一)假设你是一位 GitHub Action 持续集成专家,我有几个关于 Action Actions 的问题想向你咨询
(二)GitHub Action 是什么,请简单介绍一下
(三)实际工作中都有哪些 CI/CD 的流程可以借鉴和使用 GitHub Actions
(四)请结合一个实际软件项目案例来帮我简要分析下实施过程中 GitHub Actions 扮演的角色和重要的功能,要求逻辑清晰,简洁,分条罗列要点,字数不超过 500 字,语言生动有趣富有表现力
(五)请结合实际项目,说几个实用型的 GitHub Actions 的功能并给出解决方案
(六)在持续集成功能中具体可以做哪些工作并给出 YAML 配置信息
(七)假定我在做一个 Java 持续集成的项目请给出 GitHub Actions 的 YAML 配置信息 {此条 prompt 写的不太清晰}
(八)假定我在做一个 Java8 的基于 Gradle 构建的持续集成的项目请给出 GitHub Actions 的 YAML 配置信息,需要添加代码静态检查, code style, SonarLint 和 SonarQube 检查, findbugs 检查并发现 issue 邮件通知联系人功能
我挑选了一个我相对满意的 KIMI 输出的例子:
其中的第六点 KIMI 也给出了代码:
第八点 KIMI 的答案:
但是这次和 00 后的小朋友一起合作的 Web3 黑客松项目(https://github.com/Sifotd),我就发现项目管理中的诸多问题,由于前期他们还没有养成提交代码规范化写 commit message 的习惯,胡乱写一堆 message,真让人抓狂,人在项目中是不可控因素,那这应该是需要从流程的角度去 hold 住。
首先还是来看下需求,需要 GitHub Action 做哪些工作, GitHub Action 的原理是什么,原理决定了哪些需求可做哪些不可做,可做的如何实现,不可做的需要用什么别的替代方案来做到。后期如何丝滑和贯彻落实,落实之后要建立反馈机制在下一个迭代周期中完善和改进。改进了还不行,需要把实践的东西上升为形而上的方法论去不断精进,唯独这样才能把工匠精神落到实处,在不断耕耘中收获成功的种子。
让 GitHub Workflow 来为我实现如下需求,整理如下:
1. GitHub Action 可以做自动化部署
2. Commit message check
3. 代码质量静态检查, 代码风格检查
下期结合实际问题来编写 YAML 代码并一一落地,并结合实际来验证 KIMI 给出的答案可行性和落地效果。这是个令人兴奋的工作,有了它能持续精进和打磨团队,让其高效而有质量的产出。流程和效率是一个相互博弈的过程,需要根据实际情况来辩证看待!
参考文章:
GitHub Actions - The Complete Guide
https://www.udemy.com/course/github-actions-the-complete-guide/
如何使用 GitHub Actions 实现开源项目的自动化
https://www.freecodecamp.org/chinese/news/automate-open-source-projects-with-github-actions/
Github action 博客自动化部署:
https://frostming.com/2020/04-26/github-actions-deploy/
https://www.freecodecamp.org/chinese/news/automate-open-source-projects-with-github-actions/
10 个你该了解的 GitHub Actions 进阶技巧
https://cloud.tencent.com/developer/article/1782556