天天看点

持续交付-企业制品库管理

文章内容摘录于《持续交付2.0》书籍,用于学习备忘,如有侵权联系删除。

制品库分类

制品库的分类如下图所示:

持续交付-企业制品库管理

1、临时软件包库A

企业内部的临时软件包库用于存储企业内部团队开发的通过部署流水线生成代码的所有软件包,例如每次处罚构建后产生的二进制包。该仓库中的二进制包不能直接部署到生产环境。如果存在存储空间的限制问题,则临时软件包库的内容可以被清理。

2、正式软件包库B

正式软件包库用于存储那些结果部署流水线验证,被确认能够且将要被发布到生产环境(或用户手中)的软件包。一旦经过确认,这些软件包就应该从临时软件产物库移动到正式产品库中。正式软件包库中所存储的软件包应该被一直保存,直至退市。

3、外部软件包库X

外部软件包库是指该软件包的源代码不是由企业自身团队管理和维护,但是企业在研发自己的软件产品过程中所用到的软件制品。这些软件制品由企业从互联网或第三方机构获得,并保存到外部软件包库中。

外部软件包库中的存储形式可能包括3种:第一种是直接以二进制形式保存;第二种是以源代码副本的方式保存;第三种是以外部链接地址的形式保存,即仅记录该外部软件包的互联网下载地址,当有人需要时,通过该外部链接地址获取。

在企业内部建立统一管理的外部软件包库,其目的有3个:一是方便快捷,在企业内部保存这些软件包后,内部人员可以比较方便的从内网获取,而不需要连接外网;二是统一审计,内部团队仅从该库中获取外部软件包,容易管理控制,避免同一软件的多种版本却有很多种不同来源,也避免内部人员违规使用不安全的版本;三是保证安全,由于所需的外部软件包全部在这里,因此企业可以对其进行安全检查,以确保企业自己的软件产品不会因不安全的外部包而出现问题,即使市场上发现某个外部软件包存在安全隐患,有能够立即采取措施,通知内部团队打补丁或替换。

4、临时镜像库C、正式镜像库D与外部镜像库Y

这3个镜像库与上面的软件包库的职责类似,只是保存的内容有所不同。我们可以将其中保存的镜像看做一种特殊形态的软件包,使用相同方式进行管理即可。

制品库的管理原则

在企业制品库中,每一个制品都应该有唯一的标识,并且连同其来源、组成部件以及用途等,一起保存为该制品的元信息。所有制品都可以追溯至源头,包括临时制品库中的制品。无论何时何地,通过制品的唯一标识,任何人从制品库获取的制品都是相同的。如果制品库中的制品本身被删除或丢失,那么企业可以根据其保留在制品库中的元信息描述,通过原有的部署流水线在此生成与原来相同的制品。

继续阅读