2021-02-10 21:05:24
如何快速熟悉项目之看流水线(CI/CD)
要快速熟悉一个新项目的流水线(CI/CD),可以从以下三大块入手:看任务、看环境信息、看触发分支。通过这些步骤,你可以迅速了解项目的架构、开发习惯以及环境信息。
一、看任务
任务是流水线的基本组成单元,通过任务可以了解流水线的概况、服务信息以及需要优化的地方。
任务类型
CI(Continuous Integration):持续集成,主要用于代码的自动化构建和测试。
CD(Continuous Deployment/Delivery):持续部署/交付,将构建好的代码自动部署到相应的环境中。
TEST:测试任务,包括单元测试、集成测试等。
有些任务可能是这三种类型的组合。
模块分类
业务服务:一个或多个,以API的方式给其他应用使用。通过了解业务服务,可以明确项目的核心功能。
基础设施:支撑业务服务的中间件/服务,如配置中心、网关服务、SSO认证服务等。这些服务是项目稳定运行的基础。
公共组件:用于给各个服务提供依赖的库。了解公共组件可以帮助你快速定位代码中的依赖关系。
构建指标
构建频率:构建频率越高的模块为现阶段重点关注的模块,这些模块可能正在频繁迭代或修复问题。构建频率较低的模块可以后续再去熟悉。
测试覆盖率:测试覆盖率越高,说明代码的重要程度越大,这些代码可能包含了项目的核心逻辑或关键功能。
构建时长:构建时长过长的任务可能需要重点进行优化,以减少构建时间,提高开发效率。
部署架构
通过业务服务的数量以及业务服务的部署脚本,可以快速判断服务的架构模式,如微服务架构、单体架构等。
二、看环境信息
环境信息是了解项目部署架构和依赖关系的关键。
环境数量与类型
通过流水线可以看出总共有多少环境,如Dev(开发环境)、ST(测试环境)、SIT(系统集成测试环境)、QA(质量保证环境)等。
部署方式
通过流水线部署脚本查看各环境的部署方式,是使用Ansible、PaaS、Kubernetes、Docker还是直接SSH部署。了解部署方式有助于你快速定位问题并进行修复。
三、看触发分支
触发分支是了解项目分支管理模型和开发习惯的重要途径。
分支管理模型
主干式开发/TrunkBased:使用master进行开发,有多个部署分支。这种模型下,master分支是稳定的,所有新功能都在master分支上开发并集成。
特性分支开发/GitFlow:包含多种分支,如master(主分支)、developer(开发分支)、hotfix(热修复分支)、release(发布分支)、feature(特性分支)。这种模型下,每个新功能或修复都在一个独立的特性分支上进行,完成后再合并到开发分支或主分支。
混合模式/AoneFlow:包含master、developer、release三种分支。这种模型结合了主干式开发和特性分支开发的优点,既保证了主分支的稳定性,又提高了开发效率。
构建频繁的分支
构建频繁的是开发分支,这些分支可能正在进行频繁的迭代和修复。通过查看各个环境的部署分支,可以了解项目的发布流程和部署策略。
通过以上三个步骤的查看和分析,你基本上可以对项目的架构、基础设施以及开发习惯有个大概的印象。接下来,你可以根据这些信息去快速熟悉业务代码和逻辑,以便更快地进入开发状态。