在開(kāi)發(fā)方面,由于我行開(kāi)發(fā)語(yǔ)言種類(lèi)較多,不同的語(yǔ)言需要不同的私服,不便于管理維護(hù)和安全掃描;在投產(chǎn)方面,SVN+FTP傳遞制品的方式已經(jīng)無(wú)法滿(mǎn)足上云的應(yīng)用,在多種產(chǎn)品的選型中,我們選取了JFROG-Artifactory作為民生銀行統(tǒng)一制品倉(cāng)庫(kù),來(lái)管理、存儲(chǔ)、分發(fā)全行級(jí)的制品。經(jīng)過(guò)一年多的適配,制品倉(cāng)庫(kù)已經(jīng)與我行DEVOPS平臺(tái)(pset+eva)、工單流程平臺(tái)、容器平臺(tái)、CMDB等關(guān)鍵系統(tǒng)絲滑對(duì)接。我們建設(shè)的初衷是,規(guī)范民生銀行制品投產(chǎn)流程,提高制品質(zhì)量,加速制品投產(chǎn)效率。我們從SVN+FTP切換到制品倉(cāng)庫(kù)的理念是,把更多的工作做到DEVOPS平臺(tái)上,盡可能對(duì)用戶(hù)無(wú)感,減輕科技人員負(fù)擔(dān)。
民生銀行制品倉(cāng)庫(kù)的應(yīng)用
支持全開(kāi)發(fā)語(yǔ)言依賴(lài)
全行級(jí)制品管理
適配行內(nèi)系統(tǒng)
接下來(lái)建設(shè)計(jì)劃

一、支持全開(kāi)發(fā)語(yǔ)言依賴(lài)
1.1 統(tǒng)一私服
由于開(kāi)發(fā)語(yǔ)言種類(lèi)多,各項(xiàng)目組根據(jù)情況搭建自己的私服。這樣不便于依賴(lài)的管理和安全掃描。而且許多公網(wǎng)的依賴(lài)源,各個(gè)私服自己代理,這樣會(huì)造成很多不易排查的問(wèn)題。
以maven為例,部分項(xiàng)目組在自己私服上傳了jar包而沒(méi)有上傳pom文件,私服默認(rèn)根據(jù)gav創(chuàng)建了一個(gè)沒(méi)有依賴(lài)的pom文件。這樣各項(xiàng)目組在本地自己構(gòu)建的時(shí)候沒(méi)問(wèn)題,如果在pset集中構(gòu)建,有可能先構(gòu)建的是錯(cuò)誤的pom文件的項(xiàng)目,后續(xù)也有這個(gè)依賴(lài)的項(xiàng)目由于拉不到傳遞依賴(lài)就有可能會(huì)構(gòu)建失敗。
制品倉(cāng)庫(kù)對(duì)公網(wǎng)的主流倉(cāng)庫(kù)進(jìn)行了代理,并且將公網(wǎng)倉(cāng)庫(kù)作為優(yōu)先的依賴(lài)源,這樣可以避免因?yàn)楣W(wǎng)依賴(lài)導(dǎo)致的構(gòu)建問(wèn)題。
并且我們提供了一套用于上傳的公共倉(cāng)庫(kù),解決了公共依賴(lài)上傳重復(fù),維護(hù)混亂的問(wèn)題。

1.2 權(quán)限管理
各種私服大多數(shù)是對(duì)單個(gè)用戶(hù)進(jìn)行授權(quán),權(quán)限關(guān)系不好維護(hù)。
因?yàn)橹破穫}(cāng)庫(kù)在身份認(rèn)證和準(zhǔn)入管理方面有user,group和permission三種資源,我們?cè)陂_(kāi)發(fā)環(huán)境能夠更加方便的從pset同步權(quán)限。我們編寫(xiě)代碼并做成每日定時(shí)任務(wù),從pset同步用戶(hù)和權(quán)限。pset每個(gè)模塊都有只讀,編輯和管理員三種權(quán)限,在制品倉(cāng)庫(kù)中也根據(jù)模塊創(chuàng)建三個(gè)group分配同步pset三種權(quán)限中的用戶(hù);然后為每個(gè)模塊創(chuàng)建permission將對(duì)應(yīng)的group和需要操作的倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián),這樣就可以將pset對(duì)應(yīng)模塊對(duì)應(yīng)權(quán)限的用戶(hù)與制品倉(cāng)庫(kù)的訪(fǎng)問(wèn)權(quán)限綁定上,無(wú)需每個(gè)用戶(hù)單獨(dú)配置權(quán)限。用戶(hù)與模塊,模塊與倉(cāng)庫(kù)的關(guān)系非常清晰,易于管理。生產(chǎn)環(huán)境從cmdb也采用相同的方式進(jìn)行權(quán)限同步和維護(hù),同時(shí)也實(shí)現(xiàn)了各個(gè)模塊之間權(quán)限的隔離。

1.3 倉(cāng)庫(kù)管理
制品倉(cāng)庫(kù)分local倉(cāng)庫(kù),remote倉(cāng)庫(kù)和virtual倉(cāng)庫(kù)。由于local倉(cāng)庫(kù)的可以上傳的特性,我們將其作為行內(nèi)公共包和項(xiàng)目組私有包的上傳倉(cāng)庫(kù)。對(duì)于項(xiàng)目組之前自己搭的私庫(kù)中的文件,也可以使用插件將文件同步到自己的私庫(kù)中,所以用戶(hù)可以很方便的切換到制品倉(cāng)庫(kù)。
remote倉(cāng)庫(kù)可以代理其他遠(yuǎn)端的倉(cāng)庫(kù),我們用來(lái)代理之前行內(nèi)的公共倉(cāng)庫(kù)和公網(wǎng)的一些公共倉(cāng)庫(kù)。如果用戶(hù)發(fā)現(xiàn)自己依賴(lài)的公網(wǎng)包在現(xiàn)代理的公網(wǎng)倉(cāng)庫(kù)中沒(méi)有的情況下,可以跟我們反饋,我們根據(jù)情況申請(qǐng)代理,代理對(duì)應(yīng)的公網(wǎng)倉(cāng)庫(kù)。
virtual倉(cāng)庫(kù)里面可以維護(hù)local,remote和virtual三種類(lèi)型的倉(cāng)庫(kù)。以maven倉(cāng)庫(kù)為例,其實(shí)公共倉(cāng)庫(kù),包括之前行內(nèi)的公共倉(cāng)庫(kù)和代理公網(wǎng)的公共倉(cāng)庫(kù)有將近三十個(gè)倉(cāng)庫(kù),我們將其整合成三個(gè)虛擬倉(cāng)庫(kù)作為公共倉(cāng)庫(kù)供用戶(hù)使用,后續(xù)我們調(diào)整倉(cāng)庫(kù)或者新增倉(cāng)庫(kù),對(duì)于用戶(hù)都是不受影響的,這就解決了用戶(hù)老是修改依賴(lài)倉(cāng)庫(kù)配置的問(wèn)題。為用戶(hù)創(chuàng)建的倉(cāng)庫(kù)有release和snapshot兩個(gè)虛擬倉(cāng)庫(kù),release和snapshot兩個(gè)local倉(cāng)庫(kù),并在release虛擬倉(cāng)庫(kù)中添加了release的local倉(cāng)庫(kù)以及兩個(gè)公共的release虛擬倉(cāng)庫(kù),在snapshot虛擬倉(cāng)庫(kù)中添加了snapshot的local倉(cāng)庫(kù)和公共的snapshot虛擬倉(cāng)庫(kù)。用戶(hù)在配置上傳和下載倉(cāng)庫(kù)的時(shí)候只需要配置他們模塊的兩個(gè)虛擬倉(cāng)庫(kù)就可以滿(mǎn)足上傳需求,能夠同時(shí)下載到自己項(xiàng)目的包和公共倉(cāng)庫(kù)的包。

1.4 高可用
開(kāi)發(fā)環(huán)境采用的是雙節(jié)點(diǎn)高可用,如果其中一個(gè)節(jié)點(diǎn)異常,流量可以自動(dòng)分配到另外一個(gè)節(jié)點(diǎn),提供服務(wù)。
生產(chǎn)主從高可用F5架構(gòu),正常馬坡集群向外提供服務(wù),在馬坡集群異常的情況,F(xiàn)5可以將流量切換到鵬博士集群繼續(xù)提供服務(wù)。由于開(kāi)發(fā)環(huán)境投產(chǎn)文件是向馬坡和鵬博士?jī)蓚€(gè)集群雙推的,來(lái)確雙數(shù)據(jù)中心一致。

二、全行級(jí)制品管理
2.1 投產(chǎn)文件按照標(biāo)準(zhǔn)目錄格式進(jìn)行存放管理
標(biāo)準(zhǔn)目錄結(jié)構(gòu)如下:
-模塊倉(cāng)庫(kù)
-版本名稱(chēng)
-服務(wù)單元名稱(chēng)(如果包含中文轉(zhuǎn)成拼音小寫(xiě))
-文件分類(lèi)
-文件名稱(chēng)
文件分類(lèi)分為5種類(lèi)型,作用分別如下:
artifact 存儲(chǔ)鏡像、tar、jar、war等二進(jìn)制文件
config 存儲(chǔ)配置文件
sql 存儲(chǔ)sql文件
yaml 存儲(chǔ)yaml等部署文件
other 存儲(chǔ)其他類(lèi)型的文件
2.2 為存儲(chǔ)的文件添加元數(shù)據(jù)
制品倉(cāng)庫(kù)支持對(duì)存儲(chǔ)的文件添加元數(shù)據(jù),現(xiàn)在已經(jīng)把jira號(hào)作為元數(shù)據(jù)添加到投產(chǎn)文件上面,后續(xù)還要打測(cè)試相關(guān)的質(zhì)量數(shù)據(jù),來(lái)做質(zhì)量門(mén)禁。

2.3 開(kāi)源軟件黑名單
在開(kāi)發(fā)、測(cè)試、安全掃描、生產(chǎn)運(yùn)營(yíng)等過(guò)程中,一旦發(fā)現(xiàn)某個(gè)開(kāi)源軟件及相關(guān)版本有安全、嚴(yán)重性能等問(wèn)題,即可申請(qǐng)將其加入黑名單。
加入黑名單的申請(qǐng),由安全條線(xiàn)審核,是否加入黑名單。由安全條線(xiàn)根據(jù)CVE等安全漏洞網(wǎng)站發(fā)布的漏洞信息,定期(如半年/一年)對(duì)開(kāi)源軟件倉(cāng)庫(kù)里的開(kāi)源軟件進(jìn)行安全檢查, 一旦發(fā)現(xiàn)問(wèn)題,立即加入黑名單。
一旦加入黑名單,立即從開(kāi)源軟件倉(cāng)庫(kù)移除,并通知所有使用的項(xiàng)目組,按期整改。

三、適配行內(nèi)系統(tǒng)
3.1 與pset對(duì)接
pset(軟件工程支撐平臺(tái)),負(fù)責(zé)軟件需求到軟件交付的全生命周期管理。制品倉(cāng)庫(kù)通過(guò)與pset集成,來(lái)實(shí)現(xiàn)對(duì)上層用戶(hù)透明,用戶(hù)只需要少量配置,即可從DTR、SVN、FTP切換到制品倉(cāng)庫(kù),通過(guò)與pset協(xié)定,使用不同成熟度的倉(cāng)庫(kù),并按照規(guī)范存放制品。
3.2 與itoms對(duì)接
itoms(IT運(yùn)維管理系統(tǒng)),負(fù)責(zé)數(shù)據(jù)中心所有變更流程。制品分發(fā)到生產(chǎn)環(huán)境必須與流程相關(guān)聯(lián)。通過(guò)與itoms工單系統(tǒng)對(duì)接,實(shí)現(xiàn)了工單審批通過(guò),同步傳輸制品到生產(chǎn)環(huán)境。
3.3 與eva對(duì)接
eva(伊娃自動(dòng)化運(yùn)維平臺(tái)),負(fù)責(zé)數(shù)據(jù)中心所有調(diào)度、發(fā)布任務(wù)。在制品存放路徑標(biāo)準(zhǔn)化的基礎(chǔ)上,與eva實(shí)現(xiàn)了容器應(yīng)用一鍵發(fā)布,運(yùn)維人員只需選擇發(fā)布的版本號(hào),即可關(guān)聯(lián)出所有投產(chǎn)制品和發(fā)布流程。
四、接下來(lái)建設(shè)計(jì)劃
4.1 帶寬擴(kuò)容
計(jì)劃對(duì)帶寬進(jìn)行擴(kuò)容,以增加制品倉(cāng)庫(kù)的傳輸速度和響應(yīng)時(shí)間。
4.2 支持總行以外的機(jī)構(gòu)部門(mén)
目前主要是總行的項(xiàng)目使用制品倉(cāng)庫(kù)存儲(chǔ)構(gòu)建介質(zhì)和流轉(zhuǎn)生產(chǎn)介質(zhì),后續(xù)總行以外的信用卡中心和分行也將使用總行的制品倉(cāng)庫(kù)進(jìn)行投產(chǎn)。

4.3 版本升級(jí)
(1) peer-to-peer:
在k8s集群的機(jī)器上面安裝插件,插件會(huì)收集鏡像的下載信息,當(dāng)集群中的部分機(jī)器因?yàn)橐馔夤收现貑⒅笮枰匦孪螺d鏡像的時(shí)候,優(yōu)先從集群中的其他有該鏡像的機(jī)器進(jìn)行下載,從而有效減輕,當(dāng)數(shù)據(jù)中心級(jí)災(zāi)難時(shí),幾千上萬(wàn)個(gè)容器節(jié)點(diǎn)同時(shí)從制品倉(cāng)庫(kù)下載鏡像爆發(fā)式的壓力。
(2) edge:
edge相當(dāng)于是只有下載功能的Artifactory,由于edge成本低和不能修改的特性,可以讓研發(fā)中心使用Artifactory,讓總行、信用卡、分行等機(jī)構(gòu)使用edge,edge承擔(dān)一個(gè)分流的角色,通過(guò)研發(fā)中心Artifactory分發(fā)制品給各個(gè)數(shù)據(jù)中心edge,然后各個(gè)數(shù)據(jù)中心從本地的edge消費(fèi)。

文章來(lái)源于民生運(yùn)維人 ,作者沈啟黃、王鵬
免責(zé)聲明:市場(chǎng)有風(fēng)險(xiǎn),選擇需謹(jǐn)慎!此文僅供參考,不作買(mǎi)賣(mài)依據(jù)。
關(guān)鍵詞:
美吶 | 誠(chéng)信315——品質(zhì)引路,沒(méi)有套路! 58一年一度的315 消費(fèi)者權(quán)益日再度來(lái)臨,作為中國(guó)凈水行業(yè)誠(chéng)信企業(yè),信用等級(jí)AAA級(jí)單位,美吶無(wú)論是在消費(fèi)者的口碑中還是行業(yè)的影響力等方面,
深耕一帶一路沿線(xiàn)國(guó)家,箭牌家居迪拜世博會(huì)中國(guó)館海外戰(zhàn)略發(fā)布會(huì) 3月13日,迪拜世博會(huì)中國(guó)館箭牌家居海外戰(zhàn)略發(fā)布會(huì)在迪拜世博會(huì)中國(guó)館多功能廳舉行。迪拜世博會(huì)中國(guó)館館長(zhǎng)郭英會(huì),箭牌家居集團(tuán)海外事業(yè)部總
七十年時(shí)光不負(fù) 西鳳酒紅耀華章 椰風(fēng)徐徐送酒香。新春伊始,上千名來(lái)自全國(guó)各地的西鳳酒經(jīng)銷(xiāo)商、供應(yīng)商、行業(yè)專(zhuān)家及媒體代表相聚海南博鰲,隆重慶祝西鳳酒榮獲首屆中國(guó)名酒
陸寓豐做客人民網(wǎng)《兩會(huì)夜話(huà)》:民主在身邊,有事好商量 人民網(wǎng)獨(dú)家出品的原創(chuàng)線(xiàn)上視頻對(duì)話(huà)節(jié)目《兩會(huì)夜話(huà)》第三季,正在全網(wǎng)熱播。作為本季的最后一期,有事好商量話(huà)題又再一次把民主與民生放在了重
數(shù)碼視訊助力冬殘奧會(huì)首次高水平全程超高清轉(zhuǎn)播 北京2022年冬殘奧會(huì)閉幕式3月13日晚在國(guó)家體育場(chǎng)隆重舉行。在成功舉辦北京冬奧會(huì)之后,北京冬殘奧會(huì)以出色的賽事組織、完善的無(wú)障礙設(shè)施、
補(bǔ)齊櫥柜品類(lèi)、發(fā)布大牌整家套餐,索菲亞發(fā)力整家定制打造增長(zhǎng)新引擎 自2021年開(kāi)始,在索菲亞、歐派、顧家等頭部品牌的引領(lǐng)之下,整家定制成為各大頭部家居企業(yè)爭(zhēng)相錨定的新賽道。繼2021年12月19日完成整家定制
中國(guó)網(wǎng)與京港地鐵再攜手 與夢(mèng)同行看兩會(huì) 十三屆全國(guó)人大五次會(huì)議和全國(guó)政協(xié)十三屆五次會(huì)議在京順利召開(kāi)。為了讓乘客在出行途中也能及時(shí)了解兩會(huì)動(dòng)態(tài),中國(guó)網(wǎng)攜手京港地鐵推出《中國(guó)
百萬(wàn)用戶(hù)青睞,顧家關(guān)愛(ài)十年引領(lǐng)行業(yè)服務(wù)升級(jí) 作為中國(guó)家居的旗艦品牌,顧家家居的成功常被總結(jié)為產(chǎn)品豐富度高、設(shè)計(jì)工藝強(qiáng)、渠道多元化足,而同樣不可忽視的,服務(wù)也是其發(fā)展的核心驅(qū)動(dòng)
領(lǐng)航十五載,皇派持續(xù)刷新中國(guó)門(mén)窗品牌新高度 3月11日,在十五周年慶典上,皇派門(mén)窗聯(lián)合新浪家居以及專(zhuān)業(yè)機(jī)構(gòu)發(fā)布《中國(guó)低能耗門(mén)窗發(fā)展白皮書(shū)》,并攜手協(xié)會(huì)、學(xué)術(shù)機(jī)構(gòu)以及家居建材行業(yè)
財(cái)務(wù)穩(wěn)健,發(fā)展動(dòng)能強(qiáng)勁,越秀地產(chǎn)2021年業(yè)績(jī)亮眼 2021年,房地產(chǎn)行業(yè)正面臨行業(yè)格局的深刻變化,維持財(cái)務(wù)穩(wěn)健是企業(yè)實(shí)現(xiàn)高質(zhì)量可持續(xù)發(fā)展的關(guān)鍵點(diǎn)之一。2022年3月10日,越秀地產(chǎn)股份有限公
ARROW Home Group from Sanshui listed on Shenzhen Stock Exchange OnOctober26,ARROWHomeGroupwaslis...
【環(huán)球新視野】廣東部署臺(tái)風(fēng)“尼格”防御工作 明天8時(shí)前海上作業(yè)漁船全回撤 10月28日8時(shí),今年第22號(hào)臺(tái)風(fēng)“尼...
三水緯達(dá)光電成功過(guò)會(huì) 佛山企業(yè)首次登陸北交所 10月28日,北京證券交易所(以下簡(jiǎn)...
全球百事通!禪城“嶺南文創(chuàng)IP100計(jì)劃”發(fā)布 佛山新聞網(wǎng)訊佛山日?qǐng)?bào)見(jiàn)習(xí)記者賀勇...