加载失败,

峰照前端短分享-CI篇-Github Action

2023年12月26日修改
本文讨论了Github Action相关内容,介绍其概念、功能、实现方式,并分享实践案例与个人感触,还涉及gitlab-ci对比及自动构建镜像流程等。关键要点包括:
1.
Github Action是什么:GitHub提供的功能,可自动化软件开发工作流程,设置自定义CI/CD流水线,响应多种事件。
2.
能干什么:可实现Npm cli自动发包、开发图管cli、Ci lint检查、数据统计、签到助手、针对pr做处理等。
3.
怎么做到的:通过配置yml监听不同事件执行任务;开发自己的action,配置yml文件、传入参数、编写核心代码后发布;也可使用actions/github-script@v5在yml中用js开发。
4.
与gitlab-ci对比:两者能力相近,Github Action更便捷,可用js实现,可先写Github Action小demo再转成gitlab-ci代码。
5.
自动构建镜像流程:通过GitHub源代码自动构建镜像,上传到Docker Hub,实现自动部署。
💡
概要:通过这次分享,我来讲清楚github action是什么,能干什么,怎么做到的
对github action感兴趣的同学可以联系我 👉
飞书用户1141
Github Action 是什么
官方套话:GitHub Actions 是 GitHub 提供的一项功能,它允许您自动化软件开发工作流程。使用 GitHub Actions,您可以在代码仓库中设置自定义的 CI/CD(持续集成/持续部署)流水线,以响应各种事件,如代码推送、拉取请求(PR)的创建和关闭等。这使得开发团队能够更轻松地构建、测试和部署其应用程序。
我的理解:自动化,就是自动触发的一些事件,将重复的指令写成自动化脚本,能够简约效率,减轻对不同项目的理解心智,比如项目每次做完发布之前,要执行的各类操作,我还得本地先build, 再打tag, 再手动更新,不同项目还不一样,现在只要一个命令,完成所有流程。
Github Action 能干什么
Github Action 能做的事情太多了,我主要介绍我已经做过的事情
1.
1) 就我们团队而言,UpYunTool和西湖项目的发布工具是已经抽成npm包的了,后续也许会拓展,npm发布的过程很简单,npm login、 npm publish,但是需要把源切回npm的镜像(但是为了更快的下载速度我们还得切回源,来回切本就是一个没有意义且浪费时间的事情),而且login还需要输入账号密码,如果做成ci的话,我们只需要一个token,配置在secret中,就算是多个不同的项目也只输入一个固定指令,剩下的交给ci。
2) 我们可以开发一个图管cli,用于搭建一些项目模版,比如之前用到的express代理dist文件实现dev环境的模版代码,或者后面需要做一些简单项目的时候,可以配置进去。然后就可以通过脚手架快速生成工程模板。
你可以有疑问,这些不应该是项目本地该做的事情么,但是其实这些都是可以被绕过的,比如在本地删除掉那些依赖或者文件,什么不符合规范的代码都能提交,但是如果放到ci层面的话,你提交了,我们就会在commit之后对提交的文件进行处理,这是绕不过去的,除了格式风格之外,我们甚至可以思考做一些单测的检查,比如antd的测试,单测、快照对比差异etc...说到这,也许我们可以讨论一下最近非常火的Oxlint,进行一波小讨论。https://juejin.cn/post/7312374060435030053