0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

jenkins持續(xù)集成原理

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-06 11:43 ? 次閱讀

持續(xù)集成

開發(fā)中,我們經(jīng)常遇到一些奇怪問題,比如本地可以編譯成功的代碼但是同事們更新代碼后編譯出錯(cuò),或者在項(xiàng)目有多個(gè)Target的時(shí)候,資源文件只添加到了當(dāng)前的Target,另外一個(gè)Target這個(gè)時(shí)候是不能正常編譯的,再比如寫的工具類,被同事改了,或者自己有改動(dòng),很多地方用到了,怎么保證這個(gè)類的行為沒有發(fā)生變化而影響到項(xiàng)目中的其它模塊呢?諸如此類。

那么這些問題原因在哪,可否避免呢?當(dāng)然是可以避免的,如果代碼有新的改動(dòng),提交到版本庫(kù)中的時(shí)候,有一個(gè)人幫我們檢查必要事項(xiàng),然后做做測(cè)試不就好了,這個(gè)當(dāng)然是可以的,前提是老板同意專門招一個(gè)這樣的人。

引起各種奇怪問題的原因有很多,比如開發(fā)環(huán)境比較復(fù)雜不干凈,IDE的bug,提交前有一些必要的檢查需要做,但是開發(fā)時(shí)因?yàn)楦鞣N原因沒做,這些機(jī)械重復(fù)的事情我們可以找一個(gè)工具來幫我們完成,而且這個(gè)工具跑在一個(gè)專門的服務(wù)器上,該服務(wù)器環(huán)境相對(duì)干凈,可以運(yùn)行一些自動(dòng)化操作,而自動(dòng)編譯,代碼檢查,測(cè)試等環(huán)節(jié),那么這種東西,就是接下來講的[持續(xù)集成]。

個(gè)人理解持續(xù)集成:為解決程序代碼提交質(zhì)量低,提交內(nèi)容導(dǎo)致原有系統(tǒng)的bug,按時(shí)或按需自動(dòng)編譯版本,自動(dòng)進(jìn)行自動(dòng)化測(cè)試。

百度的定義:持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡快發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過程可以大大減少集成的問題,讓團(tuán)隊(duì)能夠更快的開發(fā)內(nèi)聚的軟件。

[是什么]

持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,通過每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成,每次的集成都通過自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡早發(fā)現(xiàn)集成錯(cuò)誤。簡(jiǎn)單來說,就是持續(xù)的定時(shí)的在多個(gè)團(tuán)隊(duì)成員的工作中進(jìn)行集成,并且給予反饋。

持續(xù)集成需要開發(fā)人員一天多次的將代碼集成到主干,并進(jìn)行自動(dòng)化編譯、測(cè)試等操作,由于這種頻繁集成,以及集成后及時(shí)開始的編譯和測(cè)試,可以有效避免我們?cè)谔峤淮a時(shí)沒有進(jìn)行必要檢查而導(dǎo)致的錯(cuò)誤,以及一些超出預(yù)期效果的更改,從而保證代碼的質(zhì)量。

由于這種及時(shí)性,如果在一次提交后項(xiàng)目集成失敗,可以快速的在這次提交中查找問題所在,縮小了找問題的范圍,從而減少了一些debug時(shí)間。同時(shí)如果按照這種實(shí)踐,那么我們的主干代碼時(shí)刻都是正確的,這樣我們可以更頻繁的交付。

[為什么]

一般規(guī)模較小的項(xiàng)目,對(duì)外部系統(tǒng)的依賴和服務(wù)調(diào)用很小,對(duì)于軟件的集成不是問題。但是隨著軟件復(fù)雜度的增加,對(duì)集成提出了更多的要求,持續(xù)集成的好處就體現(xiàn)出來了。

1)對(duì)重復(fù)的編譯發(fā)布等操作進(jìn)行抽象,減少重復(fù)過程。

2)及早發(fā)現(xiàn)各種沖突和錯(cuò)誤,減少風(fēng)險(xiǎn)。

3)任何時(shí)間、任何地點(diǎn)生成可部署的軟件

[怎么做]

基本要求:要將這種實(shí)踐付諸實(shí)際,需要一些必要的條件,如下

1.一個(gè)自動(dòng)構(gòu)建過程,包括自動(dòng)編譯、分發(fā)、部署和測(cè)試等

2.一個(gè)代碼存儲(chǔ)庫(kù),即需要版本控制軟件來保障代碼的可維護(hù)性,同時(shí)作為構(gòu)建過程的素材庫(kù)。

3.一個(gè)持續(xù)集成服務(wù)器。

自動(dòng)化構(gòu)建成過程,可幫助我們節(jié)省大量時(shí)間,完成這個(gè)過程的自動(dòng)化后,在以后的開發(fā)過程中,我們需要做的,就是只是提交代碼到版本庫(kù)中,構(gòu)建自動(dòng)完成,基本不再需要人工干預(yù)。

代碼倉(cāng)庫(kù)作為構(gòu)建的素材庫(kù),構(gòu)建所需的代碼從代碼庫(kù)中獲得。

最好有一臺(tái)服務(wù)器單獨(dú)作為持續(xù)集成服務(wù)器,一方面保證了環(huán)境的純凈,一方面不影響開發(fā),而且持續(xù)集成服務(wù)器一般是隨時(shí)準(zhǔn)備開始構(gòu)建的,所以一般也不關(guān)機(jī)。

1[首先要有統(tǒng)一的代碼庫(kù),服務(wù)器不斷從版本控制服務(wù)器上檢查代碼狀態(tài),看代碼是否有更新。如果發(fā)現(xiàn)有代碼更新,那么就從版本控制服務(wù)器下載最新的代碼。等代碼完全更新以后,調(diào)用自動(dòng)化編譯腳本,進(jìn)行代碼編譯。然后運(yùn)行所有的自動(dòng)化測(cè)試,并且進(jìn)行代碼分析。如果其中任何一個(gè)步驟失敗,就表示build失敗,持續(xù)集成服務(wù)器會(huì)給予響應(yīng)的反饋。每次代碼提交之后,都會(huì)在持續(xù)集成服務(wù)器上觸發(fā)一個(gè)定時(shí)構(gòu)建,然后進(jìn)行編譯、部署。]

[原則]

1.開發(fā)人員必須及時(shí)向版本控制庫(kù)中提交代碼,也必須經(jīng)常性地從版本控制庫(kù)中更新代碼到本地;

2.需要有專門的集成服務(wù)器來執(zhí)行集成構(gòu)建。根據(jù)項(xiàng)目的具體實(shí)際,集成構(gòu)建可以被軟件的修改來直接觸發(fā),也可以定時(shí)啟動(dòng),如每半個(gè)小時(shí)構(gòu)建一次;

3.必須保證構(gòu)建的成功。如果構(gòu)建失敗,修復(fù)構(gòu)建過程中的錯(cuò)誤是優(yōu)先級(jí)最高的工作。一旦修復(fù),需要手動(dòng)啟動(dòng)一次構(gòu)建。

4.不更新構(gòu)建失敗的代碼

開發(fā)人員及時(shí)的提交代碼進(jìn)行構(gòu)建是符合上述實(shí)踐的,及時(shí)拉取代碼可以防止工作中的分支偏離主干分支太多。定時(shí)觸發(fā)構(gòu)建或者通過檢測(cè)代碼的修改情況在觸發(fā)構(gòu)建都是可以的,主要是根及時(shí)的構(gòu)建新的代碼。如果構(gòu)建失敗,則必要及時(shí)處理導(dǎo)致失敗的問題,修復(fù)后重新構(gòu)建。當(dāng)然構(gòu)建失敗的代碼就不要拉到本地了,會(huì)污染一個(gè)本來是可以運(yùn)行的工作區(qū)。

[持續(xù)集成工具]

講了這么多概念,有沒一種工具把這種實(shí)踐實(shí)現(xiàn)呢?當(dāng)然有,常見的持續(xù)集成工具如下:

jenkins

travis

gitlab

buddybuild

僅列舉了一些典型的,Jenkins 是傳統(tǒng)型的工具,前身是 Hudson,04 年到現(xiàn)在已經(jīng)有十多年的歷史,后幾個(gè)是最近幾年出現(xiàn)的新一批,多少都和容器技術(shù)有點(diǎn)關(guān)系,這里我們主要介紹 Jenkins,因?yàn)檫@個(gè)工具比較常用,各種開發(fā)實(shí)踐都可以通過大量的插件來組合實(shí)現(xiàn),可定制性好很多。

jenkins

1jenkins是一個(gè)開源項(xiàng)目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更為重要的業(yè)務(wù)邏輯實(shí)現(xiàn)上。同時(shí) Jenkins 能實(shí)施監(jiān)控集成中存在的錯(cuò)誤,提供詳細(xì)的日志文件和提醒功能,還能用圖表的形式形象地展示項(xiàng)目構(gòu)建的趨勢(shì)和穩(wěn)定性。— 維基百科

Jenkins 有哪些功能呢?

1.定時(shí)拉取代碼并編譯

2.靜態(tài)代碼分析

3.定時(shí)打包發(fā)布測(cè)試版

4.自定義額外的操作,如跑單元測(cè)試等

5.出錯(cuò)提醒

基本上都是持續(xù)集成實(shí)踐中的要求和周邊的一些實(shí)現(xiàn)措施,如提醒功能等,出錯(cuò)后及時(shí)提醒開發(fā)者修復(fù),Jenkins 中通過配置 SMTP 配置信息(這個(gè)一般的郵件服務(wù)提供商都有提供),郵件模板等,創(chuàng)建事件觸發(fā)器,在事件(如編譯失?。┌l(fā)生時(shí),及時(shí)發(fā)送郵件通知開發(fā)者,挺方便的。

Jenkins 有很多種觸發(fā)構(gòu)建的方式,如 webhook,定時(shí)更新代碼等,同時(shí)可以在觸發(fā)構(gòu)建后執(zhí)行自定義的構(gòu)建操作,通過編輯自定義的構(gòu)建腳本,幾乎可以進(jìn)行任何構(gòu)建操作。

圖片理解:

1)齒輪:如果將java/maven/ant/git/tomcat/jenkins等軟件比喻為齒輪,如下圖

2)兩個(gè)軟件在一起可以驅(qū)動(dòng)另外一個(gè)軟件,如下圖

jenkins持續(xù)集成原理

3)如果把這些軟件要集成在一起工作,那么這個(gè)軟件就可以存在其他軟件的中間來驅(qū)動(dòng)各個(gè)軟件工作,如下圖:

4)jenkins就是類似中間那個(gè)齒輪,來驅(qū)動(dòng)其他軟件的集成一起工作,如下圖

jenkins是一個(gè)開源軟件項(xiàng)目,旨在提供一個(gè)開放易用的軟件平臺(tái),使得持續(xù)集成編程可能。它的前身是hudson,是基于java開發(fā)的一種持續(xù)集成工具,它可以根據(jù)配置進(jìn)行持續(xù)定期編譯,運(yùn)行相應(yīng)的代碼,將運(yùn)行結(jié)果發(fā)送至郵件或者展示成報(bào)告等。

jenkins作為持續(xù)集成的標(biāo)志性工具,自然是有了持續(xù)集成的眾多優(yōu)點(diǎn)。jenkins可以做一些自動(dòng)化的build,只要我們把jenkins搭建成功,可以設(shè)置幾分鐘build一次,在定時(shí)自動(dòng)build,驗(yàn)證單元測(cè)試,如果發(fā)生錯(cuò)誤則把錯(cuò)誤報(bào)告以email形式發(fā)送給項(xiàng)目模塊負(fù)責(zé)人。

[宏觀理解]

先來張圖,大致理解下宏觀:

jenkins持續(xù)集成原理

詳細(xì)介紹:

jenkins持續(xù)集成原理
jenkins持續(xù)集成原理
jenkins持續(xù)集成原理
jenkins持續(xù)集成原理

至于關(guān)于郵件的配置,也是為了方便我們的開發(fā)和管理,jenkins很強(qiáng)大。

講到這里,還是“啊呀呀,完蛋,還是有點(diǎn)不懂“的話,不如直接甩圖(從網(wǎng)上copy下來的):

jenkins持續(xù)集成原理

這里是選擇Gitlab作為git server。Gitlab的功能和Github差不多,但是是開源的,可以用來搭建私有g(shù)it server,也提供非常強(qiáng)大的web GUI,比如開發(fā)者互相review源代碼的時(shí)候就會(huì)很方便。

系統(tǒng)的工作流程大概分為以下幾步:

1> 開發(fā)者將新版本push到git server (Gitlab)。

2> Gitlab隨后觸發(fā)jenkins master結(jié)點(diǎn)進(jìn)行一次build。(通過web hook或者定時(shí)檢測(cè))

3> jenkins master結(jié)點(diǎn)將這個(gè)build任務(wù)分配給若干個(gè)注冊(cè)的slave結(jié)點(diǎn)中的一個(gè),這個(gè)slave結(jié)點(diǎn)根據(jù)一個(gè)事先設(shè)置好的腳本進(jìn)行build。這個(gè)腳本可以做的事情很多,比如編譯,測(cè)試,生成測(cè)試報(bào)告等等。這些原本需要手動(dòng)完成的任務(wù)都可以交給jenkins來做。

4> 我們?cè)赽uild中要進(jìn)行編譯,這里使用了分布式編譯器distcc來加快編譯速度。

notes

jenkins的工作原理是先將源代碼從gitlab中拷貝一份到本地,然后根據(jù)設(shè)置的腳本進(jìn)行build。我們可以看出,整個(gè)系統(tǒng)的關(guān)鍵就是那個(gè)build腳本,用來告訴jenkins在一次集成中需要執(zhí)行的任務(wù)。

不過我之后是用的Github作為git server。但其實(shí)差不多,先講到這里,重點(diǎn)難點(diǎn)還是在之后jenkins的安裝配置使用上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5159
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于 Docker 與 Jenkins 實(shí)現(xiàn)自動(dòng)化部署

    前言 重塑自動(dòng)化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持下,引領(lǐng)持續(xù)集成與部署的新紀(jì)元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?196次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實(shí)現(xiàn)自動(dòng)化部署

    Jenkins 與 SonarQube 集成部署,自動(dòng)化代碼質(zhì)量監(jiān)控

    的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強(qiáng)大支撐。在 Flexus X 的助力下,自動(dòng)化代碼掃描與質(zhì)量問題即時(shí)反饋成為可能,顯著提升團(tuán)隊(duì)開發(fā)效率與軟件質(zhì)量。立即體驗(yàn)華為云
    的頭像 發(fā)表于 01-07 17:24 ?232次閱讀
    <b class='flag-5'>Jenkins</b> 與 SonarQube <b class='flag-5'>集成</b>部署,自動(dòng)化代碼質(zhì)量監(jiān)控

    基于SOA自動(dòng)駕駛整車及運(yùn)營(yíng)系統(tǒng)架構(gòu)

    Architecture,SOA)設(shè)計(jì)思想和理念,設(shè)計(jì)、打造可持續(xù)集成、靈活配置和持續(xù)升級(jí)的自動(dòng)駕駛整車乃至整個(gè)運(yùn)營(yíng)系統(tǒng),可為客戶提供面向封閉區(qū)域運(yùn)營(yíng)的完整自動(dòng)化解決方案。
    的頭像 發(fā)表于 01-06 17:00 ?476次閱讀
    基于SOA自動(dòng)駕駛整車及運(yùn)營(yíng)系統(tǒng)架構(gòu)

    基于SOA自動(dòng)駕駛整車及運(yùn)營(yíng)系統(tǒng)架構(gòu)

    ,設(shè)計(jì)、打造可持續(xù)集成、靈活配置和持續(xù)升級(jí)的自動(dòng)駕駛整車乃至整個(gè)運(yùn)營(yíng)系統(tǒng),可為客戶提供面向封閉區(qū)域運(yùn)營(yíng)的完整自動(dòng)化解決方案。,車輛電子電氣架構(gòu)開發(fā)模式遇到了巨大的挑戰(zhàn)。
    的頭像 發(fā)表于 01-06 16:06 ?27次閱讀
    基于SOA自動(dòng)駕駛整車及運(yùn)營(yíng)系統(tǒng)架構(gòu)

    云服務(wù)器Flexus X實(shí)例,Docker集成搭建Jenkins CI/CD平臺(tái)

    Jenkins 是一個(gè)開源的自動(dòng)化服務(wù)器,用于持續(xù)集成(CI)和持續(xù)交付(CD)軟件項(xiàng)目。它允許開發(fā)人員在軟件開發(fā)過程中自動(dòng)化各種任務(wù),如構(gòu)建、測(cè)試和部署,從而提高開發(fā)效率和軟件質(zhì)量。
    的頭像 發(fā)表于 12-29 15:43 ?136次閱讀
    云服務(wù)器Flexus X實(shí)例,Docker<b class='flag-5'>集成</b>搭建<b class='flag-5'>Jenkins</b> CI/CD平臺(tái)

    Flexus X 實(shí)例 Docker+Jenkins+gitee 實(shí)現(xiàn) CICD 自動(dòng)化部署 - 解放你的雙手~

    這一前沿解決方案,為您的 C# Web API 項(xiàng)目注入前所未有的敏捷動(dòng)力。通過集成 Docker 容器化技術(shù)、Jenkins 持續(xù)集成/持續(xù)部署(CICD)平臺(tái),以及 Gitee 高
    的頭像 發(fā)表于 12-26 18:19 ?192次閱讀
    Flexus X 實(shí)例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實(shí)現(xiàn) CICD 自動(dòng)化部署 - 解放你的雙手~

    devops使用最廣泛的集成工具盤點(diǎn)

    devops使用最廣泛的集成工具包括GitLab(全棧DevOps平臺(tái))、Jenkins(CI/CD自動(dòng)化服務(wù)器)、Docker(容器化技術(shù))、Kubernetes(容器編排平臺(tái))、Ansible
    的頭像 發(fā)表于 11-26 13:48 ?211次閱讀

    艾體寶產(chǎn)品 CircleCI:高效的CI/CD平臺(tái),助力開發(fā)團(tuán)隊(duì)加速交付!

    集成,提升團(tuán)隊(duì)協(xié)作與代碼質(zhì)量。本文詳細(xì)介紹了CircleCI的主要功能和實(shí)際應(yīng)用場(chǎng)景,幫助團(tuán)隊(duì)更高效地實(shí)現(xiàn)持續(xù)集成與交付。
    的頭像 發(fā)表于 11-20 10:22 ?240次閱讀
    艾體寶產(chǎn)品 CircleCI:高效的CI/CD平臺(tái),助力開發(fā)團(tuán)隊(duì)加速交付!

    AUTOSAR架構(gòu)下,持續(xù)集成CI的最佳實(shí)踐

    隨著汽車電子技術(shù)的快速發(fā)展,汽車軟件的復(fù)雜性與日俱增,如何確保軟件開發(fā)的高效性與穩(wěn)定性成為了一個(gè)關(guān)鍵問題。為了解決這個(gè)問題,許多汽車企業(yè)和供應(yīng)商逐漸引入了AUTOSAR架構(gòu),并在此基礎(chǔ)上構(gòu)建了持續(xù)集成
    的頭像 發(fā)表于 10-24 08:06 ?531次閱讀
    AUTOSAR架構(gòu)下,<b class='flag-5'>持續(xù)集成</b>CI的最佳實(shí)踐

    Jenkins常見問題分析和解決方案

    替換原因:進(jìn)入 Manage Jenkins -》 Manage Plugin,發(fā)現(xiàn)Updates tab頁(yè)沒數(shù)據(jù),報(bào)There were errors checking the update
    的頭像 發(fā)表于 10-22 11:07 ?377次閱讀
    <b class='flag-5'>Jenkins</b>常見問題分析和解決方案

    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進(jìn)和安全增強(qiáng)

    實(shí)現(xiàn)持續(xù)合規(guī)性現(xiàn)代軟件開發(fā)實(shí)踐要求開發(fā)團(tuán)隊(duì)具備適應(yīng)性,在確保代碼質(zhì)量和可靠性的同時(shí),優(yōu)先考慮靈活性和協(xié)作性。在軟件開發(fā)流程中實(shí)施持續(xù)集成(CI)和持續(xù)交付(CD)流
    的頭像 發(fā)表于 10-08 16:22 ?313次閱讀
    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新CI/CD<b class='flag-5'>集成</b>支持、Klocwork分析引擎改進(jìn)和安全增強(qiáng)

    使用MATLAB、Simulink和Polyspace加速軟件定義汽車開發(fā)

    開發(fā)軟件定義汽車 (SDV) 時(shí),開發(fā)團(tuán)隊(duì)必須具備新的能力,例如進(jìn)行連續(xù)的軟件發(fā)布,減少軟件更改的交付周期以及盡可能減少部署失敗。同時(shí),平臺(tái)團(tuán)隊(duì)需要為車載計(jì)算機(jī)和區(qū)域控制器創(chuàng)建新軟件開發(fā)環(huán)境,設(shè)置持續(xù)集成/持續(xù)交付 (CI/CD) 系統(tǒng),并協(xié)助系統(tǒng)和軟件開發(fā)人員之間的協(xié)作
    的頭像 發(fā)表于 09-05 09:57 ?532次閱讀
    使用MATLAB、Simulink和Polyspace加速軟件定義汽車開發(fā)

    NFC可以進(jìn)行持續(xù)信號(hào)的檢測(cè)傳輸嗎?

    NFC可以進(jìn)行持續(xù)信號(hào)的檢測(cè)傳輸嗎?比如心電、溫度壓力等持續(xù)時(shí)間內(nèi)
    發(fā)表于 05-22 07:09

    自動(dòng)化構(gòu)建環(huán)境在FPGA設(shè)計(jì)中的應(yīng)用

    為了加快實(shí)現(xiàn) FPGA 構(gòu)建環(huán)境的自動(dòng)化(如用于持續(xù)集成 (CI)),并確保在開發(fā)與生命周期后期階段完整重現(xiàn)設(shè)計(jì)結(jié)果,Missing Link Electronics 團(tuán)隊(duì)已整合出一套腳本。
    發(fā)表于 02-20 11:05 ?446次閱讀
    自動(dòng)化構(gòu)建環(huán)境在FPGA設(shè)計(jì)中的應(yīng)用

    INTEWORK—PET 汽車軟件持續(xù)集成平臺(tái)

    INTEWORK-PET-CI是經(jīng)緯恒潤(rùn)自主研發(fā)的汽車軟件持續(xù)集成&持續(xù)交付平臺(tái),在傳統(tǒng)的持續(xù)集成基礎(chǔ)上深化了研運(yùn)一體化(DevOps)的概念,將嵌入式軟件中的拉取代碼、檢查、構(gòu)建、測(cè)試
    的頭像 發(fā)表于 01-19 11:04 ?625次閱讀
    INTEWORK—PET 汽車軟件<b class='flag-5'>持續(xù)集成</b>平臺(tái)