如何快速熟悉项目之看流水线(CI/CD)

如何快速熟悉项目之看流水线(CI/CD)
最新回答
自古女子多痴情深

2021-02-10 21:05:24

如何快速熟悉项目之看流水线(CI/CD)

要快速熟悉一个新项目的流水线(CI/CD),可以从以下三大块入手:看任务、看环境信息、看触发分支。通过这些步骤,你可以迅速了解项目的架构、开发习惯以及环境信息。

一、看任务

任务是流水线的基本组成单元,通过任务可以了解流水线的概况、服务信息以及需要优化的地方。

  1. 任务类型

    CI(Continuous Integration):持续集成,主要用于代码的自动化构建和测试。

    CD(Continuous Deployment/Delivery):持续部署/交付,将构建好的代码自动部署到相应的环境中。

    TEST:测试任务,包括单元测试、集成测试等。

    有些任务可能是这三种类型的组合。

  2. 模块分类

    业务服务:一个或多个,以API的方式给其他应用使用。通过了解业务服务,可以明确项目的核心功能。

    基础设施:支撑业务服务的中间件/服务,如配置中心、网关服务、SSO认证服务等。这些服务是项目稳定运行的基础。

    公共组件:用于给各个服务提供依赖的库。了解公共组件可以帮助你快速定位代码中的依赖关系。

  3. 构建指标

    构建频率:构建频率越高的模块为现阶段重点关注的模块,这些模块可能正在频繁迭代或修复问题。构建频率较低的模块可以后续再去熟悉。

    测试覆盖率:测试覆盖率越高,说明代码的重要程度越大,这些代码可能包含了项目的核心逻辑或关键功能。

    构建时长:构建时长过长的任务可能需要重点进行优化,以减少构建时间,提高开发效率。

  4. 部署架构

    通过业务服务的数量以及业务服务的部署脚本,可以快速判断服务的架构模式,如微服务架构、单体架构等。

二、看环境信息

环境信息是了解项目部署架构和依赖关系的关键。

  1. 环境数量与类型

    通过流水线可以看出总共有多少环境,如Dev(开发环境)、ST(测试环境)、SIT(系统集成测试环境)、QA(质量保证环境)等。

  2. 部署方式

    通过流水线部署脚本查看各环境的部署方式,是使用Ansible、PaaS、Kubernetes、Docker还是直接SSH部署。了解部署方式有助于你快速定位问题并进行修复。

三、看触发分支

触发分支是了解项目分支管理模型和开发习惯的重要途径。

  1. 分支管理模型

    主干式开发/TrunkBased:使用master进行开发,有多个部署分支。这种模型下,master分支是稳定的,所有新功能都在master分支上开发并集成。

    特性分支开发/GitFlow:包含多种分支,如master(主分支)、developer(开发分支)、hotfix(热修复分支)、release(发布分支)、feature(特性分支)。这种模型下,每个新功能或修复都在一个独立的特性分支上进行,完成后再合并到开发分支或主分支。

    混合模式/AoneFlow:包含master、developer、release三种分支。这种模型结合了主干式开发和特性分支开发的优点,既保证了主分支的稳定性,又提高了开发效率。

  2. 构建频繁的分支

    构建频繁的是开发分支,这些分支可能正在进行频繁的迭代和修复。通过查看各个环境的部署分支,可以了解项目的发布流程和部署策略。

通过以上三个步骤的查看和分析,你基本上可以对项目的架构、基础设施以及开发习惯有个大概的印象。接下来,你可以根据这些信息去快速熟悉业务代码和逻辑,以便更快地进入开发状态。