大型 Android 系统重构实战
黄俊彬
Thoughtworks 资深咨询师
2840 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
大型 Android 系统重构实战
15
15
1.0x
00:00/00:00
登录|注册

21|持续集成流水线:如何通过自动化解放你的双手?

你好,我是黄俊彬。
在过去的很多咨询项目中,我遇到了很多团队都没有很好运用持续集成流水线的实践。从团队协作的角度上来看,在版本发布过程中,经常出现测试依赖开发手工生成制品、版本发布也从开发本地出版本的问题。
而且项目架构如果从单体演进至组件化架构,随着越来越多的组件分离,以前一次构建可能就能出制品,但是组件化后需要先构建多个组件,然后再进行组件的集成,协作的复杂度也会更高。
最终后果就是团队的协作效率低,版本的质量也没办法控制。开发同学日常的开发工作经常被打断,沦为名副其实的“打包工程师”。
如何解决这些问题呢?最好的方式就是创建可靠、可重复的软件发布过程,让整个过程尽可能地自动化,从而提高整体的集成发布效率。通过自动化减少低价值的重复工作。
今天我们将一起来学习持续集成的核心实践——流水线。我会以 Sharing 项目为例,带你了解如何设计、配置流水线,最后还会使用 GitHub Action 来搭建一个持续集成流水线。

持续集成流水线

持续集成流水线是一种软件开发实践。 如下图所示,每当开发提交代码后,都会触发流水线执行对应的步骤,这些步骤通常包含扫描检查、构建、测试、部署等环节。 如果提交的代码不满足流水线上设置的检查时,流水线的执行就会失败,不允许代码合入仓库。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

持续集成流水线是软件开发中的重要实践,旨在通过自动化流程提高团队协作效率和版本质量。本文以Sharing项目为例,详细介绍了持续集成流水线的设计和配置,并使用GitHub Action演示了搭建流水线的示例。通过持续集成流水线,团队可以实现明显的效率和质量提升,形成协作规范,减少不必要的沟通,保证制品质量稳定。此外,文章还强调了在实践过程中需要遵循的流水线纪律,以及根据项目情况和内部工具完善度,灵活调整流水线的步骤。总的来说,持续集成流水线能够通过自动化解放开发人员的双手,提高整体的集成发布效率。文章还提到了持续集成流水线带来的效果,包括减少低价值的重复工作、降低团队成员间的沟通、统一构建发布环境、增加质量门禁等。最后,文章还介绍了GitHub Action的使用方法,以及对于组件化架构的流水线设计的建议。整体而言,本文为读者提供了深入了解持续集成流水线实践的指导和示例,对于希望提升团队协作效率和软件版本质量的开发人员具有重要参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • peter
    请教老师几个问题: Q1:本地搭建maven仓库,将组件制品放在此仓库中。使用组件的APK项目,在其gradle文件中指定组件的本地maven地址。是这样使用的吗? Q2:gitHub Action,此环境是本地的?还是github上的? Q3:屏幕适配怎么测试?自己买几个不同屏幕的手机测试吗?还是有第三方提供不同型号手机进行测试?

    作者回复: Hi,peter。 Q1:具体使用可以参考github上的代码,https://github.com/junbin1011/Sharing/commit/035a40b1546e6983660c8de70ebc0fc2e4f24d2f。 Q2:远程的,非本地。 Q3:通常来说本地可以考虑使用模拟器。另外内部测试团队通常也有不同屏幕的测试手机,最后也可以考虑使用云上的设备进行测试。

    2023-03-29归属地:北京
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部