微服务部署:从持续集成到交付的全面指南
1. 微服务部署概述
部署单体应用相对简单直接,但微服务由于相互依赖,部署过程截然不同。若部署方式不当,复杂性会带来诸多困扰。本文将介绍一些技术和方法,助力微服务部署到细粒度架构中。首先,我们来了解持续集成和持续交付的相关概念,它们对构建、部署微服务的决策有重要影响。
2. 持续集成简介
持续集成(CI)已存在多年。其核心目标是确保新提交的代码能与现有代码正确集成,使团队成员保持同步。CI 服务器检测到代码提交后,会检出代码并进行验证,如确保代码编译通过、测试执行成功。
在此过程中,常创建用于进一步验证的工件(artifact),如部署运行中的服务以进行测试。理想情况下,应仅构建一次工件,并用于该版本代码的所有部署,避免重复工作,确保部署的工件就是测试过的那个。为实现工件复用,可将其存于 CI 工具自带或独立系统的仓库中。
CI 具有诸多优势:
- 提供代码质量的快速反馈。
- 实现二进制工件创建的自动化。
- 构建工件所需的代码受版本控制,必要时可重新创建工件。
- 能从部署的工件追溯到代码,还可查看对代码和工件运行的测试。
2.1 你真的在做持续集成吗?
很多组织可能声称在使用 CI,但实际并非如此。他们常将 CI 工具的使用与 CI 实践相混淆。Jez Humble 提出三个问题,可用于检验是否真正理解 CI:
1. 是否每天向主线提交一次代码? :需确保代码频繁集成,即使使用短期分支管理变更,也应尽可能频繁地集成到单一主线分支,否则未来集成会更困难。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



