
130
|
第
6
章
如今,公司内的自动化流水线多由开发人员负责,这并不意味着开发人员有权在持续集成
中做任何想做的事情,而是他们确实应该参与流水线的工作,因为流水线的反馈闭环的速
度与他们息息相关。技术驱动团队(架构师、平台团队、开发体验团队、技术负责人、经
理等)应该提供操作指南和工具来帮助团队更好地运作,同时应该在定义的边界内提供一
定的灵活性。
在微前端中,持续集成尤为重要,因为我们需要稳定地构建和部署大量独立的产物。开发
人员应该正确地使用工具,保证微前端的自动化策略能够正常运行。每个微前端都有自己
的工具集合,这种方式看似有些过度设计了,但通常还是会有几个不同的工具用于执行相
似的任务。这种方式也有利于工具间良性竞争,帮助团队打造最佳实践。
我在走廊里不止一次地听到开发人员说,像
Rollup
这样的构建工具在某些场景中具有
webpack
没有的特性
,反之亦然。我认为这正是这些工具在真实环境下的较量,而不仅是
在沙盒中测试。
同样重要的是,微前端的持续集成流程不是只有一种实现方式,它在很大程度上取决于项
目、公司标准和采用的架构方式。比如,当使用纵向拆分的方式实现微前端时,持续集成
流水线的各个阶段都和普通的单页应用类似。如果自动化策略允许按需创建环境,就可以
在部署之前进行端到端测试,测试完成后释放环境。然而,横向拆分则需要考虑任务执行
的时机。我们必须在预发布环境或者生产环境中执行端到端测试,否则,每条流水线都需
要了解整个应用的组成,获取每个微前端的最新版本并且将其推送到一个临时环境中。这
种解决方案难以维护和改进。 ...