在DevOps实践中,制品库可以说是至关重要的组件。一个可靠的制品库在DevOps流程中往往可以帮助企业解决许多安全和版本管控方面的问题。
典型的软件开发会涉及到开发,构建,测试,部署等环节。在这个过程中,依赖组件如何确保安全,中间制品如何规范管理,交付物如何准确投产,诸如此类的问题往往会成为整个DevOps流转的阻碍,我们分阶段来看:
一、开发构建阶段
因技术所需,此阶段往往会“依赖”大量外部的依赖组件,在这个时候既要费时费力下载各种外部依赖文件,还要防止下载的开源组件有漏洞,再加上有些组件可能还有授权大坑,有法律风险,因此,如何处理依赖库就成为了开发构建中的大难题。
二、存入制品库阶段
在构建完之后研发人员往往会将制品存入制品库中进行集中管理,在这个时候会出现以下问题:
- 开发无法对库里制品的质量状况了如指掌;
- 运维难以确定本次可发布的版本,
- 如果有未经测试的版本上了生产环境,或者是老版本覆盖了新版本,酿成的都是大事故。
三、部署实施阶段
最后交付的制品,在部署实施的时候会有许多要求
- 首先要保证传输的介质可靠和安全
- 还要兼顾版本的管理,哪个版本是最新的? 哪个是临时版本?