DevOps持續(xù)交付的實驗PPT幻燈片課件_第1頁
DevOps持續(xù)交付的實驗PPT幻燈片課件_第2頁
DevOps持續(xù)交付的實驗PPT幻燈片課件_第3頁
DevOps持續(xù)交付的實驗PPT幻燈片課件_第4頁
DevOps持續(xù)交付的實驗PPT幻燈片課件_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

持續(xù)交付改進在ARESCloud項目應用,1,背景,互聯(lián)網(wǎng)2.0的需要持續(xù)運營全員參與、互動交流快速迭代持續(xù)測試、持續(xù)交付,傳統(tǒng)的流程模式已經(jīng)無法滿足快速交付的要求,2,背景說明,傳統(tǒng)交付模式,形成部門壁壘,降低工作效率,3,背景說明,應對方案,4,本次演示內容,分享在ARESCloud的DevOps實驗溝通和總結前期試驗的經(jīng)驗,5,自動打包,打包、部署、測試環(huán)境準備交給技術經(jīng)理,6,自動打包,問題定義手工或簡單腳本操作效率低錯誤會遺留到后期階段,增加返工需要專人操作,浪費資源,更新代碼,代碼走查,編譯,打包,初步檢查,自測驗證,提交測試,冒煙準入,7,自動打包,改進方案重復的事情交給電腦去做技術經(jīng)理一人負責和,減少溝通環(huán)節(jié)實現(xiàn)整合版本管理、自動打包、自動測試、代碼自動檢查效果技術經(jīng)理在版本管理系統(tǒng)一鍵完成打包過程,8,自動打包效果,9,自動打包實現(xiàn)原理,JenkinsRemoteAPI提供遠程代碼調用Jenkins的各種功能,10,自動打包實現(xiàn)原理,JenkinsRemoteAccessAPI提供遠程代碼調用Jenkins的各種功能查詢信息/job/api/json會提供最新版本及打包情況、下一個版本號等信息觸發(fā)打包/job/build查詢版本構建信息/job/api/json提供打包的進展情況下載進度日志/job/logText/progressiveHtml,11,自動打包實現(xiàn)原理,JenkinsRemoteAccessAPI查詢信息觸發(fā)打包查詢版本信息下載進度日志,客戶端,路由分發(fā),服務端,12,自動打包安全控制,兩層防護HTTPBasicAuthentication身份訪問令牌APITokenAPI訪問令牌,更簡單的建議劃分安全區(qū)只有版本管理系統(tǒng)允許訪問打包服務器,13,自動打包總結,處理方式更新代碼、編譯、打包交由Jenkins完成代碼走查通過在Jenkins上掛接自動走查工具初步檢查、自測和冒煙準入通過Jenkins驅動冒煙用例自動完成,更新代碼,代碼走查,編譯,打包,初步檢查,自測驗證,提交測試,冒煙準入,14,自動升級部署,測試環(huán)境準備是一件費時費力的事情,15,自動升級部署,問題定義環(huán)境問題導致人員等待,效率降低隨著互聯(lián)網(wǎng)的快速交付需要,升級頻率加快多階段、分布式、灰度,升級部署復雜度提供,16,自動升級部署,解決方案整合Jenkins、升級腳本、IAAS云技術多階段自動升級版本回退未來展望:灰度、多版本同時運行,17,自動升級部署,目前完成技術經(jīng)理打包完成,開發(fā)集成環(huán)境已經(jīng)升級完成,項目團隊可以立即開展內部測試實現(xiàn)原理在Jenkins的后處理步驟增加升級腳本調用,18,自動升級部署原理,升級腳本從歸檔服務器下載指定版本的升級包解壓縮到對應版本目錄將本機專有配置更新到配置文件開啟服務器,TIPS:使用Linux軟連接指向需要啟動的版本,無需修改服Web服務器配置,19,自動升級,項目組員即可立即使用環(huán)境,20,自動升級,后期計劃構建多階段環(huán)境,如系統(tǒng)測試環(huán)境,并在版本管理中操作”提交測試”時,自動建立SVN測試基線,并使用對應的版本升級系統(tǒng)測試環(huán)境;在提交發(fā)布時,使用版本自動升級仿真環(huán)境多版本同時運行(灰度),通過服務總線實現(xiàn)多版本請求路由,21,用例管理和自動測試,選擇用例、執(zhí)行用例是測試人員的重要工作,22,用例管理和執(zhí)行,問題定義選擇哪些用例?時間都去哪了?找用例準備工具寫報告,23,用例管理和執(zhí)行效果,24,用例管理和執(zhí)行,功能按照提測范圍自動關聯(lián)用例,25,用例管理和執(zhí)行,功能按照提測范圍自動關聯(lián)用例在管理系統(tǒng)直接驅動用例執(zhí)行,26,用例管理和執(zhí)行,功能按照提測范圍自動關聯(lián)用例在管理系統(tǒng)直接驅動用例執(zhí)行多階段支持同一個用例邏輯根據(jù)測試階段不同挑選不同測試數(shù)據(jù)自動生成測試報告,27,用例管理和執(zhí)行原理,服務化,28,用例管理和執(zhí)行原理,服務化用例執(zhí)行環(huán)境用例配置服務掃描可執(zhí)行的用例,并調用用例管理系統(tǒng)的類型更新服務通知本執(zhí)行環(huán)境支持哪些用例以及是如何執(zhí)行用例執(zhí)行和報告服務提供用例執(zhí)行調用接口,執(zhí)行用例并生成執(zhí)行報告用例管理系統(tǒng)用例類型更新服務設置自動用例的執(zhí)行方式,29,用例執(zhí)行框架,將用例發(fā)現(xiàn)、用例執(zhí)行服務化,30,用例執(zhí)行框架,啟動時掃描當前環(huán)境可以執(zhí)行的用例兩種用例約定TestSuite的名稱定義為/suite/子系統(tǒng)/模塊/需求/CaseXXXX.xmlTestClass名稱定義為CaseXXXX.xml其中XXXX是0-9的數(shù)字組合,對應用例ID可以在用例ID后增加其他非數(shù)字的名稱以補充說明調用用例管理系統(tǒng)API注冊自動用例掃描后系統(tǒng)會判斷新增用例和刪除用例,并調用用例管理系統(tǒng)的API設置該用例是否可以自動執(zhí)行以及執(zhí)行方式(目前僅完成了testng方式,jmeter執(zhí)行方式正在編寫),31,用例執(zhí)行框架原理,啟動時搜索TestSuite搜索TestClass與本地庫比較判斷新增或刪除向用例管理系統(tǒng)注冊用例執(zhí)行方式,32,用例執(zhí)行框架,運行時響應/test/run服務接口參數(shù):caseId:需要執(zhí)行的用例ID,必填runId:執(zhí)行ID,默認0在提測版本的測試時,對應測試計劃中的執(zhí)行ID;即,如果用例是從用例編寫執(zhí)行,相當于是開發(fā)階段測試;如果將用例關聯(lián)到測試計劃執(zhí)行,則執(zhí)行結果是當次版本測試的執(zhí)行j_teststage:測試階段,默認是DEV測試階段用于用例執(zhí)行時選擇對應的測試數(shù)據(jù),測試人員可以為不同測試階段的測試環(huán)境準備各自的測試數(shù)據(jù),復用同一份測試邏輯callback:JSONP的回調接口,默認執(zhí)行完成后是將瀏覽器轉發(fā)到報告頁面,如果提供了JSONP回調,可以返回執(zhí)行結果的JSON格式,33,用例執(zhí)行框架原理,運行時響應/test/run服務請求組裝和調用TestNG,34,用例開發(fā)框架,快速開發(fā)用例的組件,35,用例開發(fā)框架,說明框架本身直接使用TestNG,我們主要是增加了方便使用的部分組件和功能此部分是技術細節(jié),可以跳過主要實現(xiàn)功能HTTPClientT2Client行情5ClientJDBCClient基于Class的動態(tài)測試數(shù)據(jù)基于配置參數(shù)的動態(tài)測試數(shù)據(jù),36,HTTPClient,使用方式例:測試一個OAuth2授權的服務,說明target:參數(shù)URL,返回一個HttpRequestHttpRequest可以addHeader:添加請求頭addParameter:添加參數(shù)get/post/delete/put:發(fā)送請求,37,HTTPClient,說明請求返回:HttpResponseHttpResponse方法:getStatus:返回HTTP狀態(tài)碼getContent:返回應答文本getJSON:如果應答是JSON格式,直接返回JSONgetBody:如果是下載等,直接獲取二進制流其他功能和改進super.authorize():自動按照配置文件中的信息登錄和授權Oauth2,后續(xù)請求可以自動設置訪問令牌,38,HTTPClient,其他功能和改進request.enableCookie():手工控制是否啟用Cookie,用于模擬不同客戶端連接request.addParameterIF:如果值為空,自動忽略對數(shù)組參數(shù),可以在一個語句添加HTTPS自動授權自動對所有HTTPS進行授權,無需額外掛接證書,為什么自己做一個:其實推薦使用Apache的HttpClient4Apache的有Bug,反應太慢,如在系統(tǒng)錯誤時,返回內容是在ErrorInputStream的,需要額外處理的,提了半年才改好Apache的使用起來不夠方便,提出增加單句訪問功能,一直不改Apache在安全方面做了很多限制,要使用一些特殊操作需要很費勁從底層切入,39,T2Client,一句完成請求無需額外準備Event,DataSet,一條語句即可完成T2調用,40,行情5Client,通過H5協(xié)議訪問行情,這個接口是基于手機版的行情5SDK改裝過來的,還不太成熟,41,JDBCClient,支持多數(shù)據(jù)庫自動清理連接,放在連接泄漏直接對最底層連接操作,可以模擬各種特殊場景,42,其他功能,動態(tài)測試數(shù)據(jù)簡化測試用例編寫,僅需要關注業(yè)務邏輯和業(yè)務數(shù)據(jù)CVSDataProvider只需要配置dataProvider=“CVSDataProvider”,系統(tǒng)會自動查找當前測試類同名的測試數(shù)據(jù)支持多階段,例如ClassName是ABC,測試階段是SIT,優(yōu)先匹配ABC-SIT.csv,適合于復用度比較低的用例,43,其他功

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論