成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

項目開展CICD的實踐探路

開發 項目管理
基于公司Bamboo、EOS,SonarQube平臺,在項目中開展CICD持續集成與部署。介紹CICD開展的場景,項目中的實際應用,以及后續規劃。

本文介紹了作者對CICD的理解以及在項目中開展CICD的幾種場景,總結了每種場景實踐的關鍵節點、帶來的收益,以及結合具體項目開展的實際應用。讀者可以借鑒本文中描述的場景,或借鑒文中提到的實踐方式,在項目中開展CICD,為項目在持續集成部署上做具體的支撐。

1 前言

基于公司Bamboo、EOS,SonarQube平臺,在項目中開展CICD持續集成與部署。介紹CICD開展的場景,項目中的實際應用,以及后續規劃。

2 CICD基礎概念

CICD 是持續集成(Continuous Integration)和持續部署(Continuous Deployment)簡稱。指在研發過程中自動執行一系列腳本來降低開發引入 bug 的概率,在新代碼從開發到部署的過程中,盡量減少人工的介入。

CICD 核心:持續集成、持續部署、持續交付。

CI:Continuous Integration,表示持續集成。

指在向遠程倉庫 push 代碼后,在這次提交合并入主分支前進行一系列測試,構建等流程。
假設現在有個應用的代碼存儲在 倉庫上,每天開發都會 push 很多次提交,針對每次 push,你可以創建一系列腳本進行自動測試,降低往應用里引入錯誤的概率。它可以應用在包括開發分支在內的多個分支上。
持續集成過程中很重視自動化測試驗證結果,以保障所有的提交在合并主線之后的質量問題,對可能出現的一些問題進行預警。

CD:Continuous Delivery,表示持續交付。

指在完成CI后可自動將已驗證的代碼發布到倉庫。
持續交付的目標是擁有一個可隨時部署到生產環境的代碼庫。

CD:Continuous Deployment,表示持續部署。

指在持續集成的基礎上更進一步,指將推送指倉庫默認分支代碼部署到特定環境。
通過自動化的構建、測試和部署循環來快速交付高質量的產品。某種程度上代表了一個開發團隊工程化的程度,任何修改通過了所有已有的工作流就會直接和客戶見面,只有當一個修改在工作流中構建失敗才能阻止它部署到產品線。

3 CICD的開展場景

3.1 編譯部署

實現代碼提交之后的自動編譯-部署過程,取代j-one上構建-部署手動操作

內容:

  • 代碼提交后的自動構建、自動部署、構建部署結果通知;

收益:

  • 去除Jone上代碼構建完成后的手動部署操作中等待時間;

3.2 單元測試

開展基于Junit的單元測試

內容:

  • 針對后端代碼,基于Junit編寫單元測試腳本,開展單測,獲取單測報告、jacoco代碼覆蓋率報告;

收益:

  • 提升測試覆蓋率,提高代碼質量;
  • 減少bug,快速定位bug;
  • 有限支撐重構;

3.3 代碼掃描

實現基于SonarQube的代碼質量檢測

實現基于EOS的代碼質量檢測

內容:

  • 實現基于SonarQube、或公司平臺EOS的代碼掃描檢測;
  • 代碼提交自動觸發代碼掃描,最終生成報告、結果通知;
  • 掃描結果計入項目質量,記錄跟蹤問題,直至問題閉環解決。

收益:

  • 代碼質量檢測的手段豐富;
  • 多層次的自動化測試,提升代碼質量;
  • 自動觸發測試執行,縮減測試等待時間,提高效率,實現無人值守;

3.4 自動化測試

實現基于Python、EasyOne、DeepTest、Jmeter 的自動化測試。

內容:

  • 實現基于SonarQube的代碼質量檢測;
  • 實現全鏈路各環節的自動化測試;
  • 代碼提交自動觸發測試執行、生成報告、報告通知;

收益:

  • 多層次的自動化測試,提升代碼質量;
  • 自動觸發測試執行,縮減測試等待時間,提高效率,實現無人值守;

3.5 全鏈路測試探索

將上述單個場景進行組合形成全鏈路測試場景;
代碼提交觸發鏈路自動運行,以及報告生成、郵件發送。

4 項目實踐

結合公司內部平臺在實際項目中開展CICD。

4.1 公司內部平臺

BambooBamboo是京東自研的一套CI/CD流水線解決方案,覆蓋軟件開發的完整生命周期。

EOSEOS是技術與數據中臺自主研發的代碼掃描系統,通過掃描分析代碼,定位到工程中不規范的編碼片段并給出修改建議,能有效監督約束開發人員統一編碼習慣,減少因編碼不規范引起的低級錯誤,提高代碼可讀性,提高團隊協作效率。

4.2 項目實際應用

1)編譯-部署

對Jone上高頻構建部署分支進行在Bamboo上搭建流水線,實現:
代碼提交-調用Jone的構建-調用Jone的部署-結果通知

觸發編譯構建的幾種方式:

  • 手動執行;
  • 代碼提交觸發執行;
  • 定時任務觸發執行;
  • 級聯其他流水線觸發執行;

應用情況:

  • 組內所測試所覆蓋都已部署相關流水線;
  • 支撐測試人員在所測項目中部署自動構建流水線,共計調用次數:364次。

2)單元測試

對后端項目開展單元測試,實現:
代碼提交-maven構建-獲取單測報告-結果通知

應用效果:

  • 極大簡化了獲取單測報告的過程,通過簡單的過程即可針對項目開展單測、執行單測、并獲取單測結果;
  • 支撐超過8個項目部署單測流水線,JDL-CRM權限系統單測有效提升率:20%

3)自動化測試

項目部署之后,開展自動化回歸測試,用于項目上線前的回歸測試,實現:
自動化測試-測試報告-測試結果通知

目前基于Python語言,依托Py第三方模塊,實現腳本編寫,集成到Bamboo平臺,執行流水線,獲取報告。

應用效果:

  • 負責在銷服項目中開展上線前的UAT自動回歸測試;

4)代碼掃描

基于公司搭建的SonarQube、EOS平臺,開展代碼掃描,實現:
代碼提交-代碼掃描-掃描報告-問題手工記錄行云

5 后續規劃

CICD過程數據與質量效能數據相結合。
基于DeepTest開展更多項目的自動化測試,集成到BamBoo平臺。
代碼掃描在項目中的應用。

作者:京東物流 陳維

來源:京東云開發者社區 自猿其說Tech 轉載請注明來源


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2024-05-30 14:18:04

2021-07-26 14:31:49

GitLab KubernetesFlask Web

2022-10-17 10:35:34

DevOpsCICD

2023-02-10 10:54:48

DevOpsCICD

2013-07-05 11:22:31

思科遠程醫療思科

2021-07-07 10:21:26

技術

2022-09-07 09:27:31

漏洞CICD管道網絡攻擊

2013-12-16 14:43:08

BYODH3C華三

2022-05-11 08:45:49

VaultGitlab加密

2017-08-08 10:01:20

項目管理敏捷實踐團隊

2013-12-02 16:01:53

存儲

2017-01-23 09:51:11

智慧城市信息化數據

2021-12-21 10:49:21

Serverless亞馬遜云科技re:Invent

2019-11-22 15:27:07

技術漏洞管理網絡

2019-11-24 23:39:01

漏洞管理漏洞風險

2020-05-06 09:25:10

微前端qiankun架構

2023-05-16 12:24:53

2020-07-17 19:55:50

Vue前端性能優化

2021-06-02 05:41:48

項目實踐Axiosaxios二次封裝
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人精品一区二区男人看 | 亚洲一区中文字幕 | 亚洲香蕉在线视频 | 毛片高清| 国产欧美精品在线观看 | 99精品视频一区二区三区 | 免费播放一级片 | 亚洲日本三级 | 一区二区三区小视频 | 国产精品a久久久久 | 久久99精品国产99久久6男男 | 久久午夜视频 | 国产精品国产a级 | 国产乱码高清区二区三区在线 | 亚洲精品片| 99精品亚洲国产精品久久不卡 | 久久精品亚洲精品国产欧美 | 久久国产精品精品国产色婷婷 | 黄色在线观看网址 | 亚洲高清av | 午夜免费电影院 | 超碰导航 | 久久久久精 | 午夜男人免费视频 | 在线视频久久 | 精品91久久久| 中文字幕成人网 | 免费在线a视频 | 亚洲一区二区三区在线视频 | 亚洲一区二区三区四区五区午夜 | 在线欧美小视频 | 国产亚洲一区二区三区 | 91高清在线| 精品一区二区三区入口 | 欧美成人一区二区 | 久在线| 国产免费观看一区 | 久久伊人操 | 日韩福利片 | 免费人成激情视频在线观看冫 | 国产激情在线 |