代码部署全解析
1. 代码部署的必要性与工具选择
代码构建和测试完成后,就需要将其部署到服务器上,以便客户能够使用新开发的功能。在代码部署领域,有众多工具和选项可供选择,适合你和你所在组织的工具将取决于具体需求。常见的工具有Puppet、Ansible、Salt、PalletOps等,这些工具都有庞大的互补服务和工具生态系统,掌握起来并非易事。
2. 为何有众多部署系统
在实际服务器上安装和配置软件包有大量选择,更不用说客户端代码的部署方式了。以一个典型的企业应用为例,通常包含以下组件:
- Web服务器
- 应用服务器
- 数据库服务器
如果只有一台物理服务器,且这些组件每年发布一次左右,手动安装软件是最具成本效益的方式,尽管手动工作枯燥且容易出错。但在现实中,大型组织往往有数百台服务器和应用程序,它们的部署方式和需求各不相同。管理现实世界中的复杂性很困难,因此出现了许多以不同方式实现基本相同功能的解决方案。
无论执行代码的基本单元是物理服务器、虚拟机、某种容器技术还是它们的组合,都面临以下挑战:
- 基础操作系统配置 :应用程序栈通常对基础操作系统有或明显或隐晦的要求。例如,Java、Python或Ruby等应用程序栈的操作系统要求不太明显,因为这些技术在很大程度上提供了跨平台功能;而在电信行业常见的底层硬件和软件集成工作中,操作系统要求则更为明显。
- 现有解决方案 :
- 裸机(或裸虚拟机)方式 :像Red Hat Satellite和Cobbler这类系统
超级会员免费看
订阅专栏 解锁全文

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



