研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

版本控制 | 什么是组件化开发?

传统开发模式中,所有代码都写在APP模块中。随着项目的发展,代码量逐渐庞大,编译时间越来越长。为了方便后续项目的开发和测试、提高编译性能,您需要了解如何通过版本控制系统Perforce Helix Core来进行组件化开发。
龙智作为DevSecOps研发安全运营一体化解决方案供应商、Perforce授权合作伙伴,持续关注版本控制领域动态与发展,为您提高最新洞察与最佳实践参考,帮助大型开发团队更好地进行研发资产管理,加强协作,提升研发效率。立即联系我们,了解组件化开发的最佳实践与案例。

组件化开发正日益流行。因为它提供了一种可行的替代方案,让开发人员可以在单体应用和微服务之间进行选择。阅读本篇文章,您将了解到组件化开发的好处,以及团队如何通过八个步骤切换到基于组件的架构。

什么是组件化开发?

组件化开发是一种主要用于可复用组件的软件开发方法。

  1. 您可以将单体应用分解成多种类型的组件:

    • 使用生产者/消费者模型;

    • 复用/共享库;

    • 通过前端/后端。

    将软件分解成组件是正确的做法,没人会质疑这一点,这也是敏捷革命的意义所在。而且使用组件比微服务更能满足业务需求。

为什么使用基于组件的架构?

因为基于组件的架构可以保持最新的状态,无需从头开始重建。这使得基于组件的架构更适合拥有复杂、单一代码库的公司。 

使用组件可以将单体应用变成软件构建块,这些组件可以组合、复用,您也能对他们进行版本控制。

如何转向组件化开发

下面将介绍如何从现有的单体应用转向组件化开发。

使用正确的方法

您需要构建一个新环境,该环境同时包含您的遗留代码库和计划中的新系统。

如何确保自己使用的是正确的方法?以下有4个关键建议:

1、评估哪些成果可以轻松获得;

2、迁移后进行中断和重构;

3、按逻辑顺序攻击组件/包/服务;

4、在整个过程中采用新工具。

您的目标应该是同时支持新、旧模型。

八个步骤让您成功迁移

当涉及到将单体应用分解成组件化开发时,以下八个重要步骤能让您成功迁移:

1、从分离的单体功能开始,不需要更改面向客户的应用程序;

2、专注于软件交付方法和提高团队成员的技能;

3、构建最低限度的基础架构,来交付可独立部署的组件(例如容器化的微服务),这些组件可公开自助服务API;

4、开始跟踪新、旧技术问题,包括:

  • 计算发布到生产环境中有多少错误

  • 服务可用性

  • 补救的时机

5、考虑部署到云上(视情况而定);

6、实施基本的监控,无论对象新旧;

7、尽可能的自动化;

8、以详细到原子级别的步骤进行迁移。

使用Perforce Helix Core构建基于组件的架构

  1. 无需抛弃单体应用,您可以对它进行现代化的改造,并让它按照您需要的方式工作。通过Perforce Helix Core构建基于组件的架构就能实现。

    Perforce Helix Core可以按原样处理您的整个代码库,不需要事先进行复杂的重构。您所要做的就是导入并运行。没有任何的障碍或风险,也无需拆分任何东西。

使用Perforce流进行开发

Perforce流这样的功能本身就支持组件化开发。通过流,您可以定义流之间的组件关系。例如,一个流可以将另一个流定义为某个特定更改级别的组件。这意味着被定义为组件的流可以继续迭代,而不受组件关系的影响,这正是基于组件开发的目标。

您也可以从一个消耗流(Consuming Stream)向一个组件流提交更改,有多种不同的控制粒度。再加上防止组件间的循环依赖等细节,想必您能了解到为什么组件化开发在Perforce Helix Core中是一种容易执行的开发方法。

在P4V中开发

基于组件开发的最佳实践也直接内置到P4V中,通过流规范中的组件部分,为跨项目重复使用组件提供了一个干净简单的方法。P4V通过一行文本自动定义了组件和客户之间的关系映射。 

流提供了基于组件开发所需的自动化构建块,这使将相关的代码行放在一起进行构建变得更加容易。而且,由于文件更容易被定位,它能够实现IP复用。 

而且,如果您想支持在Git中构建组件的团队,Perforce也能支持。使用Git连接器,您可以无缝引入这些组件,不会影响构建和发布过程。 

文章来源:https://bit.ly/3OPJMHG

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴