课程名称:web前端架构师
课程章节:第13周 第五章 、第十四周 第二章
主讲老师:张轩
课程内容:CI/CD的介绍、travis 的配置、后端技术方案
CI/CD 的概念
业务组件库的开发和发布是随着一系列任务进化的
- 本地 commit 钩子函数完成 commit 验证
- 代码 push 到远端以后
- 跑特定的 test (不仅仅是本机的 unit test,也可能有时间很长的 E2E test)
- test 通过以后检查是否有新的 tag,假如有就自动 publish 一个新的版本
- 甚至还有更多,自动部署文档站点等等。
这些任务如果手动操作,费时费力,不是很好的解决方案
CI(Continuous integration) - 持续集成
持续集成指的是,频繁地(一天多次)将代码集成到主干。一旦开发人员对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。
ci 的作用
- 快速发现错误
- 防止分支大幅偏离主干
CD(Continuous Delivery)- 持续交付
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。
CD(Continuous Deployment) - 持续部署
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
两大服务
- Github Actions (https://github.com/features/actions)。 很多文档都是通过 github action 发布到 git pages 上
- Travis (https://www.travis-ci.com)
travis ci 配置
现在 travis 开始收费了,所以不建议使用。可以使用GitHub action 或本地搭建 gitlab
后端技术方案
技术方案设计 - 接口设计
技术方案设计的重要性
- 技术方案设计 是架构师的必备能力
- 它不会浪费你的时间,只能为你节省时间
- 宏观把控,不需要细枝末节