欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于容器的異架混合編譯方法及系統(tǒng)與流程

文檔序號(hào):40521020發(fā)布日期:2024-12-31 13:30閱讀:9來源:國(guó)知局
一種基于容器的異架混合編譯方法及系統(tǒng)與流程

本申請(qǐng)涉及語言編譯,具體涉及一種基于容器的異架混合編譯方法及系統(tǒng)。


背景技術(shù):

1、在現(xiàn)代軟件開發(fā)中,跨架構(gòu)編譯是支持多平臺(tái)發(fā)布和兼容性的關(guān)鍵環(huán)節(jié)。為了適配不同硬件架構(gòu)的軟件需求,開發(fā)團(tuán)隊(duì)通常會(huì)選擇通過多臺(tái)不同架構(gòu)的機(jī)器進(jìn)行編譯,或者通過線下主機(jī)的編譯方式來完成相關(guān)任務(wù)。然而,這種跨架構(gòu)編譯的方式,由于多種技術(shù)限制,尚未能全面接入持續(xù)集成/持續(xù)交付(cicd)自動(dòng)化流程,這給開發(fā)與運(yùn)維帶來了許多挑戰(zhàn)。

2、盡管cicd流程在現(xiàn)代軟件開發(fā)中已經(jīng)得到了廣泛應(yīng)用,并且能夠極大地提高開發(fā)效率和發(fā)布頻率,但跨架構(gòu)編譯流程的自動(dòng)化集成仍然面臨許多挑戰(zhàn)。當(dāng)前,大多數(shù)cicd工具和平臺(tái)(如jenkins、gitlab?ci、circleci等)通常針對(duì)同一架構(gòu)的編譯優(yōu)化得比較成熟,能夠自動(dòng)化處理代碼的構(gòu)建、測(cè)試、部署等環(huán)節(jié)。然而,在多架構(gòu)的場(chǎng)景下,cicd流程的接入面臨以下技術(shù)難題:

3、(1)資源使用率低,當(dāng)環(huán)境沖突的情況下,一臺(tái)機(jī)器只能作為一個(gè)項(xiàng)目的編譯環(huán)境,造成了資源的極大浪費(fèi)。

4、(2)編譯環(huán)境不能完全隔離,存在安全性問題。

5、(3)每個(gè)項(xiàng)目編譯需要搭建相應(yīng)的編譯環(huán)境,整體效率低。


技術(shù)實(shí)現(xiàn)思路

1、為此,本申請(qǐng)?zhí)峁┮环N基于容器的異架混合編譯方法及系統(tǒng),以解決現(xiàn)有技術(shù)存在的跨架構(gòu)編譯存在資源浪費(fèi)、安全性低以及效率低的問題。

2、為了實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)峁┤缦录夹g(shù)方案:

3、第一方面,一種基于容器的異架混合編譯方法,預(yù)先將不同語言不同架構(gòu)的編譯環(huán)境輸出為不同語言的編譯鏡像,并內(nèi)置到cicd平臺(tái),所述基于容器的異架混合編譯方法應(yīng)用于cicd平臺(tái)中,包括:

4、接收用戶通過拖拽方式編排的編譯任務(wù);

5、將所述編譯任務(wù)通過pipeline服務(wù)下發(fā)至job-center服務(wù);

6、所述job-center根據(jù)所述編譯任務(wù)需求組裝tekton調(diào)度任務(wù)所需的task和taskrun并下發(fā)至tekton-agency,然后確定所述編譯任務(wù)需要運(yùn)行的調(diào)度機(jī)器的架構(gòu),根據(jù)確定的架構(gòu)設(shè)置相應(yīng)的nodeselector標(biāo)簽;所述tekton-agency接收組裝好的task和taskrun,并通過kubernetes?api?server生成task和taskrun在k8s集群中;kube-scheduler監(jiān)聽新的pod資源,并根據(jù)預(yù)選策略和優(yōu)選策略選擇最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度,根據(jù)選定node節(jié)點(diǎn)上的kubelet接收調(diào)度指令,通過容器運(yùn)行時(shí)啟動(dòng)pod,并執(zhí)行編譯任務(wù)。

7、作為優(yōu)選,所述job-center根據(jù)所述編譯任務(wù)中的插件標(biāo)識(shí)確定所述編譯任務(wù)需要運(yùn)行的調(diào)度機(jī)器的架構(gòu)。

8、作為優(yōu)選,根據(jù)確定的架構(gòu)設(shè)置相應(yīng)的nodeselector標(biāo)簽,具體為:如果所述編譯任務(wù)需要在arm架構(gòu)的機(jī)器上運(yùn)行,則設(shè)置kubernetes.io/arch=arm64;如果所述編譯任務(wù)需要在x86架構(gòu)的機(jī)器上運(yùn)行,則設(shè)置kubernetes.io/arch=amd64。

9、作為優(yōu)選,所述job-center將task和taskrun下發(fā)至tekton-agency時(shí)攜帶callback回調(diào)地址。

10、作為優(yōu)選,所述kube-scheduler通過apiserver?watch?api監(jiān)聽新的pod資源。

11、作為優(yōu)選,所述新的pod資源是由tekton控制器調(diào)用kubernetes?api?server生成的。

12、作為優(yōu)選,所述新的pod資源是通過apiserver寫入到etcd中的。

13、作為優(yōu)選,所述根據(jù)預(yù)選策略和優(yōu)選策略選擇最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度,具體為:kube-scheduler先根據(jù)預(yù)選策略過濾掉不滿足預(yù)先策略的nodes,然后根據(jù)優(yōu)先策略為通過預(yù)選的nodes進(jìn)行打分排名,并選擇得分最高的node作為最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度。

14、作為優(yōu)選,所述為通過預(yù)選的nodes進(jìn)行打分排名時(shí)資源越富裕、負(fù)載越小的node具有越高的排名。

15、第二方面,一種基于容器的異架混合編譯系統(tǒng),包括:

16、編譯環(huán)境容器化模塊,用于預(yù)先將不同語言不同架構(gòu)的編譯環(huán)境輸出為不同語言的編譯鏡像,并內(nèi)置到cicd平臺(tái);

17、編譯任務(wù)接收模塊,用于接收用戶通過拖拽方式編排的編譯任務(wù);

18、任務(wù)下發(fā)模塊,用于將所述編譯任務(wù)通過pipeline服務(wù)下發(fā)至job-center服務(wù);

19、節(jié)點(diǎn)選擇與任務(wù)調(diào)度模塊,用于所述job-center根據(jù)所述編譯任務(wù)需求組裝tekton調(diào)度任務(wù)所需的task和taskrun并下發(fā)至tekton-agency,然后確定所述編譯任務(wù)需要運(yùn)行的調(diào)度機(jī)器的架構(gòu),根據(jù)確定的架構(gòu)設(shè)置相應(yīng)的nodeselector標(biāo)簽;所述tekton-agency接收組裝好的task和taskrun,并通過kubernetes?api?server生成task和taskrun在k8s集群中;kube-scheduler監(jiān)聽新的pod資源,并根據(jù)預(yù)選策略和優(yōu)選策略選擇最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度,根據(jù)選定node節(jié)點(diǎn)上的kubelet接收調(diào)度指令,通過容器運(yùn)行時(shí)啟動(dòng)pod,并執(zhí)行編譯任務(wù)。

20、相比現(xiàn)有技術(shù),本申請(qǐng)至少具有以下有益效果:

21、本申請(qǐng)?zhí)峁┝艘环N基于容器的異架混合編譯方法及系統(tǒng),基于k8s集群以及容器的特性,同時(shí)結(jié)合開源調(diào)度工具tekton的能力,將各種語言的編輯環(huán)境,通過打鏡像的方式預(yù)設(shè),具體到任務(wù)下發(fā)時(shí),通過tekton?將任務(wù)調(diào)度到k8s的指定節(jié)點(diǎn)上,并在容器中完成編譯任務(wù),當(dāng)任務(wù)執(zhí)行完成,資源可以自動(dòng)釋放,解決了資源使用率低、編譯環(huán)境唯一性和不安全的問題,并提高了工作效率。



技術(shù)特征:

1.一種基于容器的異架混合編譯方法,其特征在于,預(yù)先將不同語言不同架構(gòu)的編譯環(huán)境輸出為不同語言的編譯鏡像,并內(nèi)置到cicd平臺(tái),所述基于容器的異架混合編譯方法應(yīng)用于cicd平臺(tái)中,包括:

2.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述job-center根據(jù)所述編譯任務(wù)中的插件標(biāo)識(shí)確定所述編譯任務(wù)需要運(yùn)行的調(diào)度機(jī)器的架構(gòu)。

3.根據(jù)權(quán)利要求2所述的基于容器的異架混合編譯方法,其特征在于,根據(jù)確定的架構(gòu)設(shè)置相應(yīng)的nodeselector標(biāo)簽,具體為:如果所述編譯任務(wù)需要在arm架構(gòu)的機(jī)器上運(yùn)行,則設(shè)置kubernetes.io/arch=arm64;如果所述編譯任務(wù)需要在x86架構(gòu)的機(jī)器上運(yùn)行,則設(shè)置kubernetes.io/arch=amd64。

4.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述job-center將task和taskrun下發(fā)至tekton-agency時(shí)攜帶callback回調(diào)地址。

5.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述kube-scheduler通過apiserver?watch?api監(jiān)聽新的pod資源。

6.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述新的pod資源是由tekton控制器調(diào)用kubernetes?api?server生成的。

7.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述新的pod資源是通過apiserver寫入到etcd中的。

8.根據(jù)權(quán)利要求1所述的基于容器的異架混合編譯方法,其特征在于,所述根據(jù)預(yù)選策略和優(yōu)選策略選擇最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度,具體為:kube-scheduler先根據(jù)預(yù)選策略過濾掉不滿足預(yù)先策略的nodes,然后根據(jù)優(yōu)先策略為通過預(yù)選的nodes進(jìn)行打分排名,并選擇得分最高的node作為最合適的node節(jié)點(diǎn)進(jìn)行調(diào)度。

9.根據(jù)權(quán)利要求8所述的基于容器的異架混合編譯方法,其特征在于,所述為通過預(yù)選的nodes進(jìn)行打分排名時(shí)資源越富裕、負(fù)載越小的node具有越高的排名。

10.一種基于容器的異架混合編譯系統(tǒng),其特征在于,包括:


技術(shù)總結(jié)
本申請(qǐng)公開了一種基于容器的異架混合編譯方法及系統(tǒng),通過將不同語言不同架構(gòu)的編譯環(huán)境輸出為不同語言的編譯鏡像,將編譯鏡像內(nèi)置到CICD平臺(tái)中,用戶通過拖拽編排編譯任務(wù),任務(wù)通過Pipeline下發(fā)至job?center,job?center組裝Tekton任務(wù)并傳送至Tekton?agency,Tekton?agency通過K8s?API生成任務(wù),kube?scheduler調(diào)度Pod執(zhí)行。本申請(qǐng)基于K8s集群和容器的特性,并結(jié)合調(diào)度工具Tekton將各種語言的編輯環(huán)境,通過打鏡像的方式預(yù)設(shè),并在容器中完成編譯任務(wù),解決了資源使用率低、編譯環(huán)境唯一性和不安全的問題,并提高了工作效率。

技術(shù)研發(fā)人員:徐明星,冶小靜,吳茂佳,李彥成
受保護(hù)的技術(shù)使用者:深圳市奧思網(wǎng)絡(luò)科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/30
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
清河县| 松滋市| 西峡县| 靖江市| 健康| 克东县| 阿尔山市| 怀来县| 得荣县| 清流县| 筠连县| 商南县| 安达市| 阜新市| 玉树县| 武穴市| 资兴市| 金乡县| 兴海县| 灵石县| 白银市| 阆中市| 阿城市| 独山县| 庆元县| 麻江县| 铜鼓县| 拉孜县| 华安县| 北海市| 翁牛特旗| 连平县| 亳州市| 惠安县| 交城县| 达拉特旗| 徐水县| 大兴区| 云阳县| 屯门区| 玉树县|