日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

實踐中我們將展示我們的三種代碼分支策略

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-03-24 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DevOps微課系列旨在幫助用戶學習DevOps實踐。

業(yè)務背景

問題一:

現(xiàn)有CI上的構(gòu)建項目無法完成UT/FT/ST等測試及SM復雜度或Lizard圈復雜度檢查。

現(xiàn)有CI上的構(gòu)建項目只能對版本控制源代碼,而測試代碼、數(shù)據(jù)庫腳本、構(gòu)建和部署腳本、依賴的庫文件等,并且對構(gòu)建產(chǎn)物的版本控制也同樣重要,只有這些內(nèi)容都納入版本控制了,才能夠確保所有的開發(fā)、測試、運維活動能夠正常開展,系統(tǒng)能夠被完整的搭建。

普通pipeline無法對多個branch進行支持,無法對Gerrit trigger觸發(fā)的DailyCI、VerifyCI、MergeCI合并在同一個構(gòu)建項目中,導致pipeline流水線很多,管理復雜。

問題二:

現(xiàn)有的版本發(fā)布是將版本編譯目標文件打包上傳制品庫,在環(huán)境部署過程中需要提前配置主機環(huán)境,如果環(huán)境較為復雜和繁瑣,給環(huán)境配置帶來不小的困難。采用docker方式打包環(huán)境和版本利于測試部署和現(xiàn)網(wǎng)部署。

解決思路

1.通過multibranch類型的pipeline job使得對于多個branch的支持更加簡單。

只需要創(chuàng)建一個multibranch job,jenkins將自動地為所有的branch創(chuàng)建job。

2.構(gòu)建docker環(huán)境并打包編譯版本到鏡像中,將鏡像pull到制品庫。

實踐情況

解決方案中我們明確了gerrit上代碼分支管理策略,對不同的分支版本采用不同的分支策略,在實踐中我們將展示我們的三種代碼分支策略。

1.代碼分支策略1——開發(fā)分支與發(fā)布分支

2.代碼分支策略2——特性分支(臨時分支)

3.代碼分支策略3——修復Bug分支

解決方案

解決方案中我們還詳細闡述了我們的CI創(chuàng)建,包括Multibranch Pipeline創(chuàng)建,Jenkinsfile的撰寫、存放及調(diào)用,完整效果預覽。

1.新建multibranch pipeline job

2. 每個分支代碼的根目錄下存放Jenkinsfile,撰寫jekinsfile腳本

腳本分如下幾個部分:

1) Jekinsfile中添加接收gerrit 觸發(fā)事件的Properties

配置成功后在Branches中查看配置,會看到自動生成的配置觸發(fā)頁面為

2)獲取verifyCI需要的gerrit上change分支

3) 腳本處理不同的gerrit上的branch分支

4) 腳本處理不同的gerrit觸發(fā)事件

3.自動為每個branch生成job

在multibranch pipeline job保存后,jenkins自動地檢查所有的branch,且自動地為所有的branch創(chuàng)建job,當然前提是存在jenkinsfile文件。例如上面的job,自動地生成了文件夾*-AI-*-RUNNTIME,且在此文件夾下自動地為trunk和branch生成了job。如果在代碼庫上某個branch分支被刪除,multibranch pipeline也會自動檢測變化并刪除相應的job。

4.Scan Multibranch Pipeline Now第一次生成Multibranch Pipeline時,會自動掃描pipeline配置文件并建立相應的job,后續(xù)如果jenkinsfile文件有變更,也可以手動觸發(fā)掃描,日志輸出如下

5.這樣建立完成一個完整的MultiBranch Pipeline

不同任務運行效果圖如下所示,在同一個pipeline中可見并管理不同的gerrit觸發(fā)任務,比如patchset-created、change-merged和daily_ci。

6.Gtest+lconv代碼單元測試及覆蓋率檢查

輸出gtest單元測試及l(fā)cov代碼覆蓋率檢測結(jié)果

7.Docker鏡像通過制品庫發(fā)布

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    537

    瀏覽量

    14421

原文標題:DevOps案例 | 基于Multibranch Pipeline+docker+gtest+lcov等集成代碼檢查構(gòu)建發(fā)布實踐

文章出處:【微信號:ZTEdeveloper,微信公眾號:中興開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    我們如何開始代碼審查

    從一開始,開發(fā)者就會互相幫助,如果測試遇到了問題或是有新人加入到了團隊,領導或是資深開發(fā)者就會審查他們的代碼。除此之外,我們還聘請了外部專家進行安全代碼審查。系統(tǒng)發(fā)布后,
    發(fā)表于 12-16 15:51

    展示三種RS485應用場景的半雙工參考設計包括BOM及層圖

    設計的隔離式電源進行快速評估和設計。此外,用戶指南中的測試結(jié)果還將展示針對此設計所執(zhí)行的 IEC61000-4-2 ESD 和 IEC61000-4-5 浪涌測試。主要特色一項設計展示
    發(fā)表于 09-21 09:15

    隨機動力系統(tǒng)怎么實現(xiàn)策略搜索?

    隨機輸入使我們的模型能夠自動捕獲復雜的噪聲模式,提高基于模型的模擬質(zhì)量,并在實踐中制定出更好的策略。
    發(fā)表于 08-12 07:07

    三種提高Python代碼性能的簡便方法

      在互聯(lián)網(wǎng)編程語言盛行的今天,Python是比較流行的編程語言之一。但很多程序員對于Python代碼性能的方法并不了解。今天這里主要為大家介紹三種提高Python代碼性能的簡便方法,即是一是基準
    發(fā)表于 08-03 18:37

    什么是回歸測試及為什么它在軟件開發(fā)實踐中占如此重要的地位?

    確定每個軟件版本的穩(wěn)定性。這是一個反復的過程,一直持續(xù)到項目達到開發(fā)結(jié)束或維護結(jié)束為止。在其他工作流程,回歸測試是開發(fā)人員日常工作。實際上,可以說在迭代和敏捷過程,大多數(shù)測試是回歸測試。在繼續(xù)進行之前,讓我們看一下什么是回歸
    發(fā)表于 12-21 07:52

    python編寫條件分支的最佳實踐

    這段代碼最大的問題,就是過于直接翻譯了原始的條件分支要求,導致短短十幾行代碼包含了有層嵌套分支。這樣的
    發(fā)表于 04-21 15:20

    ADμC812 芯片實踐中幾點注意

    ADμC812 芯片實踐中幾點注意
    發(fā)表于 05-16 14:16 ?10次下載

    EDA 技術(shù)在教學實踐中的應用2

    EDA 技術(shù)在教學實踐中的應用2 摘 要: EDA 在電子技術(shù)教學實踐中的應用是現(xiàn)代教育發(fā)展的一趨勢, 本文通過數(shù)字式測溫儀這一綜合性設計實例,比較全面地說明
    發(fā)表于 12-07 13:50 ?0次下載

    極管三種工作狀態(tài)特點分析及判斷

    極管有放大、飽和、截止三種工作狀態(tài),放大電路極管是否處于放大狀態(tài)或處于何種工作狀態(tài),對于學生是一個難點。筆者在長期的教學實踐中發(fā)現(xiàn),
    的頭像 發(fā)表于 09-28 09:11 ?19.2w次閱讀
    <b class='flag-5'>三</b>極管<b class='flag-5'>三種</b>工作狀態(tài)特點分析及判斷

    剖析智能制造關(guān)于“輕與重”的實踐中的誤區(qū)

    智能制造無疑是建設制造強國重中之重的核心策略。但還有很多制造企業(yè)存在不少關(guān)于“輕與重”的認識與實踐中的誤區(qū)!
    的頭像 發(fā)表于 02-20 10:33 ?4040次閱讀

    測試工程師的三種分支

    測試技術(shù)在新環(huán)境下產(chǎn)生一奇妙的變革:出現(xiàn)了三種分支,可能有些人清楚,有些人糊涂,而另有些人投入,那就是根據(jù)業(yè)務驅(qū)動的測試執(zhí)行,根據(jù)行業(yè)的通性的測試服務及他山之石可以攻玉的產(chǎn)品評測。
    的頭像 發(fā)表于 09-12 10:29 ?4271次閱讀

    設計模式最佳實踐探索—策略模式

    根據(jù)不同的應用場景與意圖,設計模式主要分為創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式類。本文主要探索行為型模式策略模式如何更好地應用于實踐中
    的頭像 發(fā)表于 10-31 14:24 ?1759次閱讀

    軟件代碼結(jié)構(gòu)化覆蓋測試-分支覆蓋

    本篇我們介紹分支覆蓋,從測試技術(shù)對代碼的測試程度上來說,在復雜代碼分支覆蓋比語句覆蓋效果要好
    的頭像 發(fā)表于 09-01 11:34 ?1525次閱讀
    軟件<b class='flag-5'>代碼</b>結(jié)構(gòu)化覆蓋測試-<b class='flag-5'>分支</b>覆蓋

    三種LED接線:串聯(lián)、并聯(lián)和串并聯(lián),我們該如何選?

    三種LED接線:串聯(lián)、并聯(lián)和串并聯(lián),我們該如何選?
    的頭像 發(fā)表于 12-08 17:21 ?6361次閱讀
    <b class='flag-5'>三種</b>LED接線:串聯(lián)、并聯(lián)和串并聯(lián),<b class='flag-5'>我們</b>該如何選?

    介紹三種常見的MySQL高可用方案

    方案——MHA(MySQL High Availability Manager)、PXC(Percona XtraDB Cluster) 和 Galera Cluster。我們將從原理、架構(gòu)、優(yōu)勢和局限性等角度對比這三種方案,并探討它們在實際應用
    的頭像 發(fā)表于 05-28 17:16 ?1461次閱讀
    广西| 吉木乃县| 鄱阳县| 石阡县| 阿克| 新乡市| 中山市| 建德市| 丰城市| 正定县| 田东县| 阜康市| 浦城县| 巴林右旗| 阿瓦提县| 洛浦县| 博白县| 津南区| 石棉县| 社旗县| 运城市| 左贡县| 漯河市| 滁州市| 赣州市| 永安市| 榆中县| 静安区| 安西县| 同江市| 达日县| 黎平县| 朝阳区| 蒙城县| 桃源县| 东兴市| 垣曲县| 长沙县| 碌曲县| 昌黎县| 惠来县|