CICD(Continuous Integration; Continuous Deployment)是帮助软件工程师从刀耕火种的人力操作迈向现代工业化流水线作业的重要方式,它能够帮助我们提升项目整体的规范性,提升产研效率,以及幸福度。
因此,学会 CICD 是能够切切实实的提升开发者体验的手段。而另一方面,市面上各种各样的 CICD 系统也有很多,如何选型,怎么选型,如何去有效利用,也是一门有讲究的学问。
为此,作者会以通用技术的视角去帮助大家了解 CICD 的魅力,帮助大家成长。虽然,本课程不会去评论市面上各种系统的优劣,但是相信大家在学会本课程之后,这些问题都会有自己的答案与见解。
针对以上问题,我们的图文课将会从CICD的底层哲学讲起,让大家了解为什么会有CICD,CICD会帮助大家解决什么样的问题,应当如何入门CICD,以及如何掌握CICD。
在每节的结束,将会以实战的方式带大家完成一个日常中常见的用户场景,通过理论和实战相结合的方式帮助大家更好的消化所学内容。相信在学习本课程之后大家都拥有独自处理这方面场景的能力。
另外,为了方便大家去更好的实践,本课程的学习只需要一些最基本的网络设备即可。不会要求大家去搭建一些复杂的系统。本课程的侧重点在于教大家更加通用的知识而不是特定的知识。
我在过去的开发经历中发现,不论做的是什么项目,DevOps的思维都是能够提升研发效率的万能药,这是一种可以在任何情况下都能提升个人或者团队整体开发效率思维模式,而CICD就是将DevOps落地的一种不可或缺的技术手段。这就是为什么我会选择CICD作为我的第一本图文课程。相比于学习一门技术,我认为学习一种思维给开发者带来的是更加长远的好处。
作者 Hask(aka moonrailgun) 毕业于辽宁工程技术大学,于 2021 年加入字节跳动,负责飞书团队网页后台的前端研发工作。拥有6年前端工作经验,是由兴趣推动的软件工程师,做过微内核框架、文本编辑器二次开发、音视频会议二次开发、低代码平台以及各类打包插件、提效工具等等,做过完整的IM即时通讯应用。对前端许多领域都有所涉猎,对后端技术也有一定了解,各种项目的经验能够带来的是更加广阔技术视野。
作者Github: https://github.com/moonrailgun
在现实生活中的CICD实践推荐: 开源项目 Tailchat. 经过真实实践验证的解决方案,包含: 前后端单元测试、集成测试、E2E测试、Docker 镜像构建、Docker compose 服务编排,自动化发布版本、发布容器镜像、发布移动端应用、部署文档网站....如果觉得不错的话欢迎 star 支持作者。
Tailchat 开源地址: https://github.com/msgbyte/tailchat
