最新最快科技资讯
太阳能光伏网

JFrog助力民生银行打造企业级单一可信源

文章来源于民生运维人,作者沈啟黄、王鹏

在开发方面,由于我行开发语言种类较多,不同的语言需要不同的私服,不便于管理维护和安全扫描;在投产方面,SVN+FTP传递制品的方式已经无法满足上云的应用,在多种产品的选型中,我们选取了JFROG-Artifactory作为民生银行统一制品仓库,来管理、存储、分发全行级的制品。经过一年多的适配,制品仓库已经与我行DEVOPS平台(pset+eva)、工单流程平台、容器平台、CMDB等关键系统丝滑对接。我们建设的初衷是,规范民生银行制品投产流程,提高制品质量,加速制品投产效率。我们从SVN+FTP切换到制品仓库的理念是,把更多的工作做到DEVOPS平台上,尽可能对用户无感,减轻科技人员负担。

民生银行制品仓库的应用

支持全开发语言依赖

全行级制品管理

适配行内系统

接下来建设计划

一、支持全开发语言依赖

1.1统一私服

由于开发语言种类多,各项目组根据情况搭建自己的私服。这样不便于依赖的管理和安全扫描。而且许多公网的依赖源,各个私服自己代理,这样会造成很多不易排查的问题。

以maven为例,部分项目组在自己私服上传了jar包而没有上传pom文件,私服默认根据gav创建了一个没有依赖的pom文件。这样各项目组在本地自己构建的时候没问题,如果在pset集中构建,有可能先构建的是错误的pom文件的项目,后续也有这个依赖的项目由于拉不到传递依赖就有可能会构建失败。

制品仓库对公网的主流仓库进行了代理,并且将公网仓库作为优先的依赖源,这样可以避免因为公网依赖导致的构建问题。

并且我们提供了一套用于上传的公共仓库,解决了公共依赖上传重复,维护混乱的问题。

1.2权限管理

各种私服大多数是对单个用户进行授权,权限关系不好维护。

因为制品仓库在身份认证和准入管理方面有user,group和permission三种资源,我们在开发环境能够更加方便的从pset同步权限。我们编写代码并做成每日定时任务,从pset同步用户和权限。pset每个模块都有只读,编辑和管理员三种权限,在制品仓库中也根据模块创建三个group分配同步pset三种权限中的用户;然后为每个模块创建permission将对应的group和需要操作的仓库进行关联,这样就可以将pset对应模块对应权限的用户与制品仓库的访问权限绑定上,无需每个用户单独配置权限。用户与模块,模块与仓库的关系非常清晰,易于管理。生产环境从cmdb也采用相同的方式进行权限同步和维护,同时也实现了各个模块之间权限的隔离。

1.3仓库管理

制品仓库分local仓库,remote仓库和virtual仓库。由于local仓库的可以上传的特性,我们将其作为行内公共包和项目组私有包的上传仓库。对于项目组之前自己搭的私库中的文件,也可以使用插件将文件同步到自己的私库中,所以用户可以很方便的切换到制品仓库。

remote仓库可以代理其他远端的仓库,我们用来代理之前行内的公共仓库和公网的一些公共仓库。如果用户发现自己依赖的公网包在现代理的公网仓库中没有的情况下,可以跟我们反馈,我们根据情况申请代理,代理对应的公网仓库。

1.4高可用

开发环境采用的是双节点高可用,如果其中一个节点异常,流量可以自动分配到另外一个节点,提供服务。

生产主从高可用F5架构,正常马坡集群向外提供服务,在马坡集群异常的情况,F5可以将流量切换到鹏博士集群继续提供服务。由于开发环境投产文件是向马坡和鹏博士两个集群双推的,来确双数据中心一致。

二、全行级制品管理

2.1投产文件按照标准目录格式进行存放管理

标准目录结构如下:

-模块仓库

-版本名称

-服务单元名称(如果包含中文转成拼音小写)
-文件分类

-文件名称

文件分类分为5种类型,作用分别如下:

artifact存储镜像、tar、jar、war等二进制文件

config存储配置文件

sql存储sql文件

yaml存储yaml等部署文件

other存储其他类型的文件

2.2为存储的文件添加元数据

制品仓库支持对存储的文件添加元数据,现在已经把jira号作为元数据添加到投产文件上面,后续还要打测试相关的质量数据,来做质量门禁。

2.3开源软件黑名单

在开发、测试、安全扫描、生产运营等过程中,一旦发现某个开源软件及相关版本有安全、严重性能等问题,即可申请将其加入黑名单。

加入黑名单的申请,由安全条线审核,是否加入黑名单。由安全条线根据CVE等安全漏洞网站发布的漏洞信息,定期(如半年/一年)对开源软件仓库里的开源软件进行安全检查,一旦发现问题,立即加入黑名单。

一旦加入黑名单,立即从开源软件仓库移除,并通知所有使用的项目组,按期整改。

三、适配行内系统

3.1与pset对接

pset(软件工程支撑平台),负责软件需求到软件交付的全生命周期管理。制品仓库通过与pset集成,来实现对上层用户透明,用户只需要少量配置,即可从DTR、SVN、FTP切换到制品仓库,通过与pset协定,使用不同成熟度的仓库,并按照规范存放制品。

3.2与itoms对接

itoms(IT运维管理系统),负责数据中心所有变更流程。制品分发到生产环境必须与流程相关联。通过与itoms工单系统对接,实现了工单审批通过,同步传输制品到生产环境。

3.3与eva对接

eva(伊娃自动化运维平台),负责数据中心所有调度、发布任务。在制品存放路径标准化的基础上,与eva实现了容器应用一键发布,运维人员只需选择发布的版本号,即可关联出所有投产制品和发布流程。

四、接下来建设计划

4.1带宽扩容

计划对带宽进行扩容,以增加制品仓库的传输速度和响应时间。

4.2支持总行以外的机构部门

目前主要是总行的项目使用制品仓库存储构建介质和流转生产介质,后续总行以外的信用卡中心和分行也将使用总行的制品仓库进行投产。

4.3版本升级

(1) peer-to-peer:

(2) edge:

最新相关

Altera获得900万美元种子轮融资

Altera是一家AI游戏代理服务商,正在构建一个能够与人类玩家一起玩"Minecraft"的AI代理,该公司旨在建立提供同理心、友谊和乐趣的数字人类,并且从长远来看,他们有能力和自主。近日,Altera获得90...

SorbiForce获得战略投资

SorbiForce是一家电池存储系统研发商,开发利用自身超多孔碳、水和盐的技术来开发可持续的电池存储系统,以解决当前能源领域的关键问题,通过采用美国大多数地区丰富的本地采购原材料,它正在降低...

众信优游完成约5000万元的Pre-A轮融资

众信优游是一个中国泛旅游行业线下零售平台,是众信旅游旗下子公司。主要经营境内旅游业务;入境旅游业务;出境旅游业务等。近日,众信优游完成约5000万元的Pre-A轮融资。盼亚投资领投,仰山投资...

TPG亚洲基金筹集80亿美元

近日消息,全球另类资产管理公司TPG,5月8日宣布自2023年11月完成对TPG Angelo Gordon的收购以来,已成功关闭其第八支专注于亚洲的私募股权基金--TPG Asia VIII,以及其首支TPG Angelo Gordon亚洲...

高柏资本第六支创投基金完成设立

5月10日消息,近日,高柏资本旗下第六支创投基金,首期规模5010万元的湖北省前沿科技成果转化基金完成设立备案及资金实缴,基金投资人为某大健康领域的产业资本,该产业资本拥有极强的产品挖掘、孵...

Mycocycle获得360万美元战略投资

Mycocycle是一家废物利用管理服务提供商,主要解决由塑料和石化产品产生的有毒成分,将材料从垃圾填埋场转移,再利用到其他应用中。Mycocycle近日完成战略投资,投资方包括Closed Loop Ventures、...

Nooks获得2200万美元A轮融资

Nooks是一家AI电话营销服务提供商,利用AI技术帮助销售代表避免销售电话中的机械部分,如在无人接听时跳过数字,并提供笔记、呼叫记录和无效化处理功能,此外还提供呼叫转录和评分功能,并且可以与...

Outpave获得种子轮融资

Outpave是一家支出管理服务商,提供一个银行即服务平台,可简化银行连接、费用跟踪和发票管理,提供直接的银行集成、可定制的发卡和实时分析,提供对金融运营的透明度和控制。近日,Outpave宣布完...

王一博黑粉就侵权案上诉

王一博黑粉就侵权案上诉

天眼查法律诉讼信息显示,近日,王一博与朱某某相关名誉权纠纷案件新增二审开庭公告,上诉人为朱某某,该案将于6月4日在江苏省无锡市中级人民法院开庭审理。据此前律师事务所发布的简讯显示,朱某...

OverT Bio获得1600万美元种子轮融资

OverT Bio是一家肿瘤细胞免疫疗法开发商,致力于开发了平行基因筛查、单细胞多组学和合成生物学平台,将细胞工程技术与大数据方法相结合,以解决实体肿瘤领域未满足的主要医疗需求。其核心平台搜...