标签:src docke zip 异步 定义 存在 war 获取 code
1. 背景2. 什么是唯一可信源?
唯一可信源是企业内部所有通过审批批准的软件唯一存放的仓库。这些软件包括 war 包,jar 包,Docker 镜像,zip 包,以及第三方开源组件或者商业软件的授信版本。
为什么需要建立唯一可信源?
很多银行仍然使用 FTP 进行 war 包,zip 等交付包的管理,这样会导致交付包缺失信息,版本管理的配置变更在哪,版本是否通过了代码扫描,漏洞扫描,自动化测试和测试团队的 Approve?这些信息的缺失会导致沟通成本急剧上升,造成人力和时间的大量浪费。随意获取有漏洞的依赖库,或者使用违反公司License策略的依赖包,也会给公司带来直接损失。如果没有唯一可信源,各个团队,特别是分布在多个地区的开发团队将花费大量的时间在配置变更,版本传递和部署上。
3. 如何建设唯一可信源?
3.1 首先,定义实施唯一可信源的目标:
? 创建唯一可信源仓库。
? 确保产品全部使用唯一可信源仓库里的制品。
? 定制制品审批规则和准入门槛。
? 在 CI/CD 流水线中自动化
? 微信可信源的可维护性。
3.2 创建唯一可信源仓库
3.3创建仓库模型:Capital One 基于 JFrog 的最佳实践进行仓库的命名:
? 用虚拟仓库把所有 local 和 remote 仓库聚合
? 根据包的类型,按团队进行划分
? 根据开发,测试,生产环境实行制品晋级制度,区分生产和非生产的包
? 第三方组件通过隔离仓库晋级到唯一可信源仓库
总体发布流程:
制品晋级的流程:
制品的分发流程:
最终结果:
通过制品的晋级,分发,审批流程,测试 Artifactory Edge 节点里存放的制品库可以认为是企业的唯一可信源。
? 开源组件和自己构建的组件基于审批和准入机制入库
? 通过接口调用实现自动化的审查和审批
? 自动化的分发包到 Edge 节点,实现多机房部署
? 和 CI/CD 流水线进行集成和分发
? 未审批的包无法推送到 Edge 节点,无法被部署的生产,避免部署错误。
唯一可信源的工作流:
? 将所有制品存储在唯一的 Artifactory仓库
? 触发发布动作
? 验证制品元数据记录
? 分发制品
? 发布制品到唯一可信源
? 当在 Artifactory Edge 节点的老版本失效时,通过Artifactory 同步删除的通过,在主节点删除某个老版本,将能够自动同步删除 Edge 节点上的老版本。
4. 收益
在银行内部通过唯一可信源的建设,可以实现以下收益:
? 所有业务团队有唯一可信的依赖库和二方库
? 所有业务团队有唯一可信的发布版本库
? 所有审批的过程数据都汇总成为元数据绑定到发布版本上
? 部署工具有唯一可信的部署来源,基于元数据校验进行自动化部署
参考:
https://baijiahao.baidu.com/s?id=1670085533834899304&wfr=spider&for=pc
https://www.youtube.com/watch?v=me3kwaQI4Gk&feature=emb_logo
CapitalOne - 千亿资产银行如何进行唯一可信源的建设?(金融企业必看)
标签:src docke zip 异步 定义 存在 war 获取 code
原文地址:https://blog.51cto.com/jfrogchina/2510767