2.0 版本的技术细节

本章不具体介绍 2.0 版本的实现逻辑,只是简单介绍下相比 1.0,它增加了哪些功能。

  • 增加应用概念

    在项目实际的开发过程中,我们发现,一个 GitLab 工程,可能会包含多个应用。

    例如:你有一个 Yii 工程,它对应的业务是一个商城,这个商城系统有 PC 端和 App端,而 PC 和 App 的业务是不一致的,但他们又有很多重叠的功能:例如购物车模块。此时,你的工程中将会自然的存在两个目录,shoppc + shopapp,这两个目录可以理解为两个应用。

    这两个应用可以共同调用此工程中的 common 模块,common 模块包含两个应用共通的一些函数或类。

    此时我们在使用自动化部署系统 1.0 版本创建服务的时候,除了选择工程,还要选择应用。

    然后 2.0 版本增加了【应用列表】【新增应用】【编辑应用】,还有创建服务时的【选择应用】

  • 增加 Gitlab 钩子

    在创建服务的时候,我们优化为不允许手动填写分支名(手残是常事),使用者直接选择即可。

    但是要实现这样的功能,我们需要知道所有工程的分支变化情况,我们发现 Gitlab 有强大的 WebHook 功能,我们利用这个功能,实现了分支的及时同步。

    Gitlab 将工程分支的变化通知给自动化部署系统,系统将分支记录下来,这样,使用者就可以自行选择了。

    由于业务系统占用了主要的开发时间,2.0 的功能迭代比较小,属于在挤时间挤出来的迭代。


作者:Wolf  创建时间:2022-11-19 11:29
最后编辑:Wolf  更新时间:2023-11-27 23:47