vivo 制品管理在 CICD 落地實(shí)踐
一、前言
隨著軟件開(kāi)發(fā)的不斷發(fā)展,DevOps已經(jīng)成為了一種流行的軟件開(kāi)發(fā)實(shí)踐方式。在DevOps實(shí)踐中,制品管理是一個(gè)重要的組成部分,它可以幫助團(tuán)隊(duì)快速交付高質(zhì)量、高可靠性的軟件,本文將介紹vivo制品管理在CICD的演進(jìn)過(guò)程與落地實(shí)踐,希望能為讀者提供一些實(shí)踐經(jīng)驗(yàn)和思路。
名稱解釋
制品:在廣義上指軟件開(kāi)發(fā)過(guò)程中生成的各種產(chǎn)物,包括軟件代碼、文檔、報(bào)告、測(cè)試結(jié)果等,在狹義上,指軟件開(kāi)發(fā)過(guò)程中生成的最終產(chǎn)物,如編譯產(chǎn)物、打包產(chǎn)物、鏡像等。
制品庫(kù):制品庫(kù)即管理制品的中央倉(cāng)庫(kù),用來(lái)存儲(chǔ)和管理不同格式的軟件制品,如源代碼,編譯后的程序,鏡像,配置文件,第三方庫(kù)和依賴,版本信息等。制品庫(kù)一般包含存儲(chǔ),版本管理,權(quán)限控制,安全掃描,依賴分析等功能,是一種企業(yè)處理軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的所有包類(lèi)型的標(biāo)準(zhǔn)化方式。
二、vivo CICD制品管理演進(jìn)
隨著DevOps行業(yè)的蓬勃發(fā)展,行業(yè)內(nèi)越來(lái)越關(guān)注制品能力的建設(shè);在不斷的實(shí)踐摸索中,vivo CICD制品管理能力也越來(lái)越完善,vivo CICD的制品管理發(fā)展一共經(jīng)歷了4個(gè)階段,包括手工管理階段、腳本管理階段、平臺(tái)管理 1.0 階段和平臺(tái)管理 2.0 階段。
- 手工管理階段:本地構(gòu)建制品,手動(dòng)上傳到部署機(jī)器,進(jìn)行手動(dòng)部署。純手工時(shí)代,需要耗費(fèi)大量人力和時(shí)間,出錯(cuò)率高,無(wú)法保證一致性和可重復(fù)性。
- 腳本管理階段:使用腳本化管理工具自動(dòng)化構(gòu)建、部署過(guò)程。通過(guò)Jenkins構(gòu)建制品,上傳到文件存儲(chǔ)器,shell腳本從文件存儲(chǔ)器(FTP)下載后進(jìn)行部署。這一階段初步實(shí)現(xiàn)構(gòu)建、部署過(guò)程的自動(dòng)化,并且保證了一致性和可重復(fù)性,但需要手動(dòng)編寫(xiě)腳本,維護(hù)成本較高。
- 平臺(tái)管理1.0階段:基于Jenkins ,Spinnaker自研CICD平臺(tái),加速軟件的構(gòu)建、測(cè)試、部署和發(fā)布過(guò)程 。在這個(gè)階段流水線比較完善,實(shí)現(xiàn)構(gòu)建、測(cè)試、部署過(guò)程自動(dòng)化,并且可以自動(dòng)化地觸發(fā)測(cè)試和部署操作,從而提高軟件交付的速度和質(zhì)量;但是制品管理能力有限,僅在流水線范圍內(nèi)保證一致性和可重復(fù)性。
- 平臺(tái)管理2.0階段:隨著平臺(tái)能力全面發(fā)展,為了提高研發(fā)效率和軟件質(zhì)量,降低運(yùn)維成本,我們進(jìn)一步完善了制品管理能力,實(shí)現(xiàn)制品的版本控制、存儲(chǔ)、晉級(jí)和安全管理等,從而提高軟件開(kāi)發(fā)效率、簡(jiǎn)化軟件交付流程、提高軟件交付質(zhì)量和可靠性。
當(dāng)前CICD 制品管理處在平臺(tái)管理2.0階段,這一階段制品管理具有如下優(yōu)勢(shì):
- 多類(lèi)型制品支持:制品庫(kù)支持一個(gè)項(xiàng)目同時(shí)存在Generic、Maven、NPM、PyPI、Docker、Helm等多種常見(jiàn)類(lèi)型,滿足多技術(shù)棧研發(fā)團(tuán)隊(duì)的訴求。
- 制品統(tǒng)一管理:將軟件研發(fā)過(guò)程中所有制品進(jìn)行版本管理、集成、協(xié)同和發(fā)布管理等,從而提高研發(fā)效率和質(zhì)量,支持持續(xù)交付和DevOps實(shí)踐,提升企業(yè)競(jìng)爭(zhēng)力和創(chuàng)新能力。
- 制品溯源追蹤:基于制品元數(shù)據(jù)和準(zhǔn)入準(zhǔn)出規(guī)則,進(jìn)行制品晉級(jí),以制品維度記錄從需求到發(fā)布的過(guò)程數(shù)據(jù),實(shí)現(xiàn)需求、編碼、構(gòu)建、測(cè)試、質(zhì)量和部署全生命周期過(guò)程的強(qiáng)管控,實(shí)現(xiàn)可信追溯與安全審計(jì)。
- 制品安全掃描:檢測(cè)制品中的潛在安全漏洞和風(fēng)險(xiǎn),提高系統(tǒng)和應(yīng)用程序的安全性和可靠性,避免信息泄露和惡意攻擊,從而保護(hù)企業(yè)數(shù)字資產(chǎn)的安全。
- 降低運(yùn)維成本:統(tǒng)一管理制品,減少重復(fù)建設(shè),降低運(yùn)維、研發(fā),測(cè)試溝通成本。
- 制品極速分發(fā):支持多地?cái)?shù)據(jù)中心上傳下載,實(shí)現(xiàn)多地?cái)?shù)據(jù)中心集群部署。
制品管理是軟件開(kāi)發(fā)和交付過(guò)程中不可或缺的環(huán)節(jié),通過(guò)制品管理,可以提高軟件交付效率、質(zhì)量和可靠性,降低成本和風(fēng)險(xiǎn),促進(jìn)團(tuán)隊(duì)協(xié)作和溝通,提高管理效率和決策能力,從而提高企業(yè)的生產(chǎn)力和競(jìng)爭(zhēng)力。
三、vivo CICD制品管理介紹
3.1 vivo CICD 制品管理概況
1)目前制品庫(kù)支持:
- 元數(shù)據(jù)管理:對(duì)制品的屬性信息進(jìn)行有效管理和保護(hù),包括編譯產(chǎn)生的元數(shù)據(jù),用戶自定義的元數(shù)據(jù),cicd平臺(tái)生成的元數(shù)據(jù)等。
- 制品統(tǒng)一管理:統(tǒng)一管理制品生命周期,提供存儲(chǔ),溯源追蹤,上傳下載,版本管理,權(quán)限控制,回收,部署等多項(xiàng)功能。
- 制品晉級(jí):不同環(huán)境中的配置和參數(shù)可能會(huì)有所不同,對(duì)制品進(jìn)行適當(dāng)?shù)男薷暮投ㄖ苹?,以滿足不同環(huán)境的需求,也是針對(duì)不同需求設(shè)置制品準(zhǔn)入門(mén)禁。
- 極速分發(fā):靈活地適應(yīng)不同的部署需求和架構(gòu)模式,將制品快速、可靠地分發(fā)到各地?cái)?shù)據(jù)中心。
- 安全掃描:對(duì)制品進(jìn)行全方位的漏洞,合規(guī)掃描(包含源代碼,依賴,文件,鏡像等),識(shí)別制品安全等級(jí),提前規(guī)避問(wèn)題。
2)制品生命周期
3)制品在研發(fā)流程中所起的作用
對(duì)于CICD流水線而言,制品起到一個(gè)承上啟下的關(guān)鍵作用,它是持續(xù)集成CI的終點(diǎn),也是持續(xù)交付CD的起點(diǎn),是研發(fā)流程關(guān)鍵組成部分。
3.2 制品管理系統(tǒng)架構(gòu)
3.3 核心功能介紹
3.3.1 制品統(tǒng)一管理
制品統(tǒng)一管理,顧名思義在軟件研發(fā)和部署過(guò)程中,對(duì)產(chǎn)生的各種制品進(jìn)行整體的統(tǒng)一管理。主要包含元數(shù)據(jù)管理,統(tǒng)一存儲(chǔ),制品生成,制品晉級(jí),制品部署,制品掃描,制品老化,權(quán)限管控幾大功能的管理。
(1)元數(shù)據(jù)管理
制品元數(shù)據(jù)是指對(duì)制品本身的描述和補(bǔ)充信息,與制品密切相關(guān),是制品管理的一個(gè)重要部分。
目前管理的元數(shù)據(jù)有:
制品名稱(MD5/鏡像標(biāo)簽)、版本、類(lèi)型、制品大小、來(lái)源信息、源代碼、可部署環(huán)境、存儲(chǔ)地址、掃描報(bào)告、依賴信息、制品作者、描述、老化日期,老化狀態(tài)等。
通過(guò)制品元數(shù)據(jù)對(duì)制品有了全方位了解,可以幫助研發(fā),測(cè)試,運(yùn)維等角色快速定位識(shí)別制品、進(jìn)行版本回溯,追蹤問(wèn)題的引入,及時(shí)修復(fù)安全漏洞等。
(2)統(tǒng)一存儲(chǔ)
按照使用場(chǎng)景,制品一般分為三類(lèi),統(tǒng)一管理存儲(chǔ)在對(duì)應(yīng)的存儲(chǔ)器上。
(3)制品生成
平臺(tái)制品的來(lái)源分為三類(lèi)類(lèi):手動(dòng)上傳制品,流水線構(gòu)建、公網(wǎng)引入
(4)制品晉級(jí)
制品晉級(jí)流程
在整個(gè)研發(fā)流程中,研發(fā)團(tuán)隊(duì)一般都有開(kāi)發(fā),測(cè)試,預(yù)發(fā),壓測(cè),生產(chǎn)環(huán)境,而對(duì)于不同環(huán)境可部署條件是不一樣的,即不同的環(huán)境對(duì)于制品有不同的準(zhǔn)入門(mén)禁,制品需要通過(guò)晉級(jí)來(lái)達(dá)到準(zhǔn)入標(biāo)準(zhǔn)。
經(jīng)過(guò)代碼掃描,編譯后制品生成 → 部署開(kāi)發(fā)環(huán)境 → 經(jīng)過(guò)安全掃描 → 部署測(cè)試環(huán)境 → 測(cè)試通過(guò),并分發(fā)到線上倉(cāng)庫(kù)之后 → 部署預(yù)發(fā)環(huán)境 → 部署預(yù)發(fā)后,驗(yàn)收通過(guò),并提交上線審批工單之后部署生產(chǎn)環(huán)境。
目前制品晉級(jí)規(guī)則比較簡(jiǎn)單,為了幫助研發(fā)團(tuán)隊(duì)有效且直觀地區(qū)分制品版本的成熟度情況,提高交付效率和安全性,后續(xù)將支持自定義制品等級(jí)和晉級(jí)規(guī)則。
制品分發(fā)
在制品晉級(jí)的過(guò)程中,制品等級(jí)越高,越需要支持跨網(wǎng)絡(luò)/數(shù)據(jù)中心使用,制品分發(fā)將生成的制品快速、準(zhǔn)確和可靠地分發(fā)出去,供不同地區(qū)開(kāi)發(fā)人員或用戶使用,為企業(yè)提供更為高效和便捷的全球化業(yè)務(wù)支持。
(5)制品部署
制品部署是將軟件制品部署到各個(gè)環(huán)境的過(guò)程,制品部署是軟件開(kāi)發(fā)的最后一步,也是最關(guān)鍵的一步,如果部署失敗,將會(huì)導(dǎo)致業(yè)務(wù)中斷或嚴(yán)重故障,保障部署制品版本正確至關(guān)重要。 平臺(tái)目前有支持三種方式部署:構(gòu)建部署一鍵運(yùn)行,制品庫(kù)選擇制品,選擇上線工單部署。
- 構(gòu)建部署一鍵運(yùn)行:用戶選擇代碼版本進(jìn)行構(gòu)建,構(gòu)建后制品直接部署到對(duì)應(yīng)環(huán)境。
- 制品庫(kù)選擇制品:選擇歷史制品進(jìn)行部署,為了保障用戶選擇到正確的制品版本,制品選擇會(huì)展示元數(shù)據(jù)方便用戶核對(duì),且線上環(huán)境只能選已晉級(jí)制品進(jìn)行部署。
- 選擇上線工單部署:線上部署前需要提交上線工單,經(jīng)過(guò)管理員、安全管理員,執(zhí)行人等審批通過(guò)之后,選擇工單部署對(duì)應(yīng)制品至線上環(huán)境。
(6)制品掃描
制品包含的是在應(yīng)用程序開(kāi)發(fā)過(guò)程中產(chǎn)生的各種文件,從源代碼到編譯后的二進(jìn)制文件、測(cè)試結(jié)果和部署配置文件,甚至到生產(chǎn)環(huán)境中使用的數(shù)據(jù)。一旦這些制品受到攻擊或被竊取,會(huì)嚴(yán)重影響整個(gè)應(yīng)用程序或系統(tǒng)的安全性和可靠性,安全掃描是制品管理中重要一環(huán),有助于保障系統(tǒng)穩(wěn)定性和安全性,平臺(tái)對(duì)制品進(jìn)行全方位的漏洞/合規(guī)掃描(包含源代碼,依賴,文件,鏡像等),提前識(shí)別制品安全等級(jí),提前規(guī)避問(wèn)題。這一部分將在3.2中重點(diǎn)介紹。
(7)制品老化
合理制定制品生命周期管理策略,定期清除無(wú)效制品,減少存儲(chǔ)空間占用,可以提高系統(tǒng)性能,提供更安全、穩(wěn)定、整潔的制品庫(kù)。
- 自動(dòng)化清理:制品生成后,平臺(tái)會(huì)根據(jù)保留策略計(jì)算制品的銷(xiāo)毀時(shí)間,然后根據(jù)制品銷(xiāo)毀時(shí)間,自動(dòng)定時(shí)清理過(guò)期制品。
- 保留策略:一般情況下,線下制品保留60天,線上制品保留90天,正在部署或者部署中制品不會(huì)被清理;支持定制化保留時(shí)間,對(duì)于迭代頻繁或自動(dòng)化程度高的項(xiàng)目,制品數(shù)量繁多,可以縮短制品保留時(shí)間,而像一些穩(wěn)定的運(yùn)維系統(tǒng),可以延長(zhǎng)保留時(shí)間。
- 清理白名單:對(duì)于一些特殊制品或項(xiàng)目,不能隨意清理,可以申請(qǐng)清理白名單;白名單支持制品和項(xiàng)目?jī)蓚€(gè)維度;特殊制品可以申請(qǐng)清理白名單,延長(zhǎng)保留時(shí)間或永不清理,項(xiàng)目也可以按項(xiàng)目維度申請(qǐng)白名單,為項(xiàng)目下所有制品申請(qǐng)清理白名單。
- 恢復(fù)策略:直接清理制品,具有一定的風(fēng)險(xiǎn)性,平臺(tái)支持恢復(fù)老化制品;清理的制品,短期內(nèi)平臺(tái)會(huì)進(jìn)行備份,已清理制品平臺(tái)支持基于制品元數(shù)據(jù)(代碼信息,編譯環(huán)境等)重新生成制品,從而保障制品安全性。
- 標(biāo)準(zhǔn)化流程:為保證不清理掉與業(yè)務(wù)相關(guān)的重要信息或數(shù)據(jù),對(duì)業(yè)務(wù)產(chǎn)生不利影響,必須按照規(guī)范的流程進(jìn)行清理和記錄,以下是整個(gè)清理流程:
(8)權(quán)限控制
制品權(quán)限控制是制品管理流程中非常重要的一部分,它可以確保制品在構(gòu)建、存儲(chǔ)、分發(fā)和部署等環(huán)節(jié)中,僅有經(jīng)過(guò)授權(quán)的人員才能訪問(wèn)、修改、上傳和下載制品。通過(guò)制品權(quán)限控制,大大降低公司潛在安全風(fēng)險(xiǎn),防止機(jī)密信息和敏感數(shù)據(jù)的泄漏。
- 身份驗(yàn)證+角色控制:通過(guò)單點(diǎn)登錄(SSO)確定用戶身份信息,項(xiàng)目成員才能訪問(wèn)、修改、上傳和下載制品;同時(shí)為了保障生產(chǎn)環(huán)境的穩(wěn)定性和安全性,經(jīng)過(guò)管理員審批的制品才能部署到線上環(huán)境。
- 項(xiàng)目隔離:為了確保項(xiàng)目之間資源不會(huì)互相干擾,保證項(xiàng)目制品的安全性,項(xiàng)目間的制品是隔離的,項(xiàng)目?jī)?nèi)的制品只能在項(xiàng)目中使用。
- 制品權(quán)限控制:針對(duì)制品進(jìn)行單獨(dú)的權(quán)限分配(設(shè)置制品可操作空間、可操作用戶/用戶組)。
3.3.2 制品安全掃描
(1)制品存在哪些安全風(fēng)險(xiǎn)
- 制品/依賴組件存在安全漏洞:未經(jīng)過(guò)掃描的制品,制品或者制品中的依賴組件存在一些安全漏洞,黑客可以利用這些漏洞入侵系統(tǒng)。
- 制品中可能存在惡意代碼:未經(jīng)過(guò)掃描的制品, 可能存在惡意代碼,部署這類(lèi)制品會(huì)使整個(gè)系統(tǒng)處于風(fēng)險(xiǎn)之中。
- 制品中可能存在濫用SQL:濫用SQL帶來(lái)SQL注入風(fēng)險(xiǎn),敏感數(shù)據(jù)泄露,邏輯漏洞等風(fēng)險(xiǎn)。
- 制品中敏感文件存在泄露風(fēng)險(xiǎn):制品中存在一些敏感/機(jī)密數(shù)據(jù),若沒(méi)有進(jìn)行適當(dāng)?shù)募用芑蛟L問(wèn)控制等措施,將使這些機(jī)密信息被黑客竊取或篡改。
制品安全掃描是提前發(fā)現(xiàn)和規(guī)避這些風(fēng)險(xiǎn)的有效措施,通過(guò)制品安全掃描保障應(yīng)用程序安全,減少安全風(fēng)險(xiǎn)造成的損失,保護(hù)公司機(jī)密數(shù)據(jù)。
(2)全方位安全掃描
平臺(tái)對(duì)制品進(jìn)行全方位安全掃描,從源碼→構(gòu)建→制品→部署全流程進(jìn)行掃描和管控,保障系統(tǒng)的安全性。
以上各種掃描(源碼掃描,構(gòu)建掃描,制品掃描)都會(huì)形成掃描報(bào)告,掃描結(jié)果也會(huì)記入制品元數(shù)據(jù),作為制品的安全屬性和制品晉級(jí)準(zhǔn)入條件,進(jìn)行部署管控,用戶也可以在制品庫(kù)查看制品的安全性與掃描報(bào)告。部署不安全制品時(shí),線上線下環(huán)境會(huì)采取不同措施進(jìn)行干預(yù):
- 線下環(huán)境部署不安全制品,提示安全風(fēng)險(xiǎn),進(jìn)行處理指導(dǎo),跟蹤處理進(jìn)展。
- 線上環(huán)境部署不安全制品,一般情況下,平臺(tái)會(huì)自動(dòng)檢測(cè)制品安全性,不允許不安全制品上傳;如果特殊情況必須上線,必須提前分析上線風(fēng)險(xiǎn)以及問(wèn)題處理措施,經(jīng)過(guò)安全團(tuán)隊(duì)審批,才能上線。
(3)組件準(zhǔn)入規(guī)則
組件準(zhǔn)入規(guī)則能夠提前規(guī)避問(wèn)題,保障整個(gè)應(yīng)用程序或系統(tǒng)的安全性和可靠性,是軟件開(kāi)發(fā)和部署過(guò)程中必不可少的一環(huán)。組件準(zhǔn)入分為二方依賴和三方依賴的準(zhǔn)入,下圖詳細(xì)展示了組件準(zhǔn)入規(guī)則。
圖中名詞解釋?zhuān)?/p>
- 內(nèi)網(wǎng)中央倉(cāng)庫(kù):存儲(chǔ)依賴倉(cāng)庫(kù),包括二方依賴,三方依賴。
- 安全掃描:掃描依賴,判斷依賴是否安全。
- 安全依賴知識(shí)庫(kù):從公共倉(cāng)庫(kù)拉取的三方依賴/內(nèi)部上傳的二方依賴經(jīng)過(guò)安全掃描后,安全的二/三方依賴會(huì)進(jìn)入安全依賴知識(shí)庫(kù)。
- 漏洞知識(shí)庫(kù):從公共倉(cāng)庫(kù)拉取的三方依賴/內(nèi)部上傳的二方依賴都經(jīng)過(guò)安全掃描后,不安全的二/三方依賴會(huì)進(jìn)入漏洞知識(shí)庫(kù);同時(shí)平臺(tái)會(huì)定時(shí)從公共漏洞庫(kù)拉取漏洞信息。
1)依賴包的拉取:本地編譯或平臺(tái)構(gòu)建需要拉取某個(gè)依賴包時(shí),平臺(tái)依據(jù)安全依賴/漏洞知識(shí)庫(kù)判斷依賴是否安全,安全的依賴才允許下載;若某個(gè)依賴在安全依賴/漏洞知識(shí)庫(kù)中不存在,會(huì)從公共倉(cāng)庫(kù)拉取進(jìn)行安全掃描,確定是安全的依賴后才允許下載。
2)二方依賴推送內(nèi)網(wǎng)中央倉(cāng)庫(kù):本地二方依賴禁止推送,只能通過(guò)平臺(tái)構(gòu)建生成二方依賴;二方依賴經(jīng)過(guò)安全掃描確定為安全依賴后進(jìn)入安全依賴知識(shí)庫(kù)并推送到內(nèi)網(wǎng)中央倉(cāng)庫(kù),不安全依賴記錄到漏洞知識(shí)庫(kù)。
(4)依賴正反向溯源
上圖展示的是制品對(duì)應(yīng)的簡(jiǎn)易依賴樹(shù),以及每個(gè)樹(shù)節(jié)點(diǎn)存儲(chǔ)的信息。
通過(guò)制品正反向溯源,確定組件歷史版本和演變過(guò)程,追蹤代碼質(zhì)量、安全性、改變歷程等信息,幫助開(kāi)發(fā)人員和系統(tǒng)管理員進(jìn)行版本控制和漏洞檢查,確保組件庫(kù)中的所有組件都是計(jì)劃中要使用的版本。
四、總結(jié)與展望
制品管理是軟件開(kāi)發(fā)和交付過(guò)程中不可或缺的環(huán)節(jié),vivo CICD的制品管理經(jīng)過(guò)四版的演進(jìn),從多品類(lèi)支持,制品生成、制品晉級(jí)、制品部署、制品掃描,制品老化,制品管控等方面完善了制品管理能力,提高了軟件研發(fā)效率、軟件交付質(zhì)量和可靠性、簡(jiǎn)化了軟件交付流程、降低了運(yùn)維成本。
目前vivo CICD的制品管理是一個(gè)相對(duì)完善的制品管理平臺(tái),但制品管理作為軟件開(kāi)發(fā)和部署過(guò)程中重要的組成部分,在未來(lái)會(huì)走向更加智能化、集成化、安全化和規(guī)范化的方向,在制品管理的道路上我們還需不斷實(shí)踐探索:
- 智能化方面:隨著人工智能的發(fā)展,人工智能技術(shù)越來(lái)越成熟,后續(xù)將借助機(jī)器學(xué)習(xí)等技術(shù),智能識(shí)別制品安全情況,提供智能分析,智能推薦等功能。
- 集成化方面:制品庫(kù)與DevOps、CICD關(guān)系將會(huì)越來(lái)越緊密,后續(xù)將在制品管理中集成CICD能力,例如用戶可以在查看某個(gè)制品的同時(shí)進(jìn)行一鍵部署。
- 安全化方面:隨著軟件和網(wǎng)絡(luò)安全威脅的不斷增加,制品庫(kù)安全掃描的重要性將會(huì)日益凸顯。為增加安全性能和提高交付效率,進(jìn)行安全左移,例如將掃描前置到開(kāi)發(fā)過(guò)程中。
- 規(guī)劃化方面:引入更多的規(guī)范化策略和標(biāo)準(zhǔn),研究制定更加嚴(yán)謹(jǐn)?shù)闹破饭芾砹鞒蹋乐挂驗(yàn)橹破饭芾淼娜笔?dǎo)致安全問(wèn)題,提高交付效率。
制品管理還需要結(jié)合實(shí)際場(chǎng)景進(jìn)行探索和創(chuàng)新,尋求更加智能化、靈活化和安全的實(shí)現(xiàn)方式,推動(dòng)整個(gè)軟件開(kāi)發(fā)生態(tài)的不斷發(fā)展和進(jìn)步。