




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
云計算軟件開發(fā)云第1頁/共39頁Outline13.1 軟件開發(fā)云的概念13.2
華為軟件開發(fā)云服務13.3 DevCloud技術方案13.4 實踐:DevCloud實戰(zhàn)第2頁/共39頁13.1軟件開發(fā)云的概念傳統(tǒng)軟件開發(fā)中的挑戰(zhàn)云計算給軟件開發(fā)帶來的新可能云時代的軟件開發(fā)云計算的推動力第3頁/共39頁13.1.1 傳統(tǒng)軟件開發(fā)中的挑戰(zhàn)軟件開發(fā)的整個過程獲取基礎設施(硬件、軟件和網(wǎng)絡等)非常困難,基礎設施的交付周期也非常長部署和維護各種開發(fā)及測試環(huán)境令人頭痛開發(fā)及測試環(huán)境無法完全復現(xiàn)生產(chǎn)環(huán)境的場景人為地割裂IT、開發(fā)、測試和運維部門第4頁/共39頁圖13.2
DevOps工具鏈第5頁/共39頁13.1.2
云時代的軟件開發(fā)利用IaaS平臺提高開發(fā)和測試人員獲取基礎設施的效率利用DevOps思想和可編程的IaaS資源融合軟件開發(fā)的各個階段,打破原來存在的人為割裂,加大整個流程的迭代速度通過直接使用大量的通用云服務來減少工作量,加速軟件上線周期第6頁/共39頁13.2 華為軟件開發(fā)云服務華為軟件開發(fā)云服務(DevCloud):是指在云端進行項目管理、配置管理、代碼檢查、編譯構建、測試、部署、發(fā)布等的云計算平臺,主要可以解決軟件開發(fā)的環(huán)境設置并減少軟件開發(fā)人力投入方面的成本,幫助初創(chuàng)企業(yè)、軟件開發(fā)企業(yè)提升開發(fā)能力,規(guī)范開發(fā)流程,提高開發(fā)效率,這是云計算的成果,也是未來發(fā)展的趨勢。第7頁/共39頁13.2.1 軟件交付的趨勢和挑戰(zhàn)軟件生產(chǎn)力變革研發(fā)場景:據(jù)業(yè)界預測,到2025年,80
的企業(yè)應用將運行在云中,100
的應用將在云中開發(fā),軟件的開發(fā)、測試、部署、運維都在云中進行編程語言:Go、Scala、R、Node.js、Python等新型編程語言不斷涌現(xiàn),新型編程語言需要新型研發(fā)工具提供更加友好的支撐軟件架構:基于容器的微服務化架構,Cloud
Native云原生應用代表著分布式軟件架構的演進方向,這對軟件研發(fā)提出了新的要求研發(fā)工具:研發(fā)工具向著輕量化、服務化、云化、容器化、社交化、智能化等方向發(fā)展研發(fā)模式:DevOps成為繼敏捷、精益之后被企業(yè)廣泛接受的新型研發(fā)模式交付形式:軟件交付正在從包交付向著工程化交付轉(zhuǎn)變第8頁/共39頁13.2.2 DevCloud核心理念云上開發(fā):開發(fā)、測試、部署、運維、監(jiān)控、分析、反饋等一切研發(fā)活動都在云上進行,利用云的彈性伸縮能力進行并發(fā)加速,大幅提高研發(fā)活動的效率持續(xù)交付/DevOp:全面承載持續(xù)交付和 DevOps 的先進研發(fā)模式,實現(xiàn)開發(fā)、測試、運維的跨地域協(xié)同和同步迭代,支撐運營數(shù)據(jù)驅(qū)動開發(fā),快速交付,快速反饋全生命周期:提供端到端的研發(fā)工具服務,實現(xiàn)全生命周期覆蓋,并融入企業(yè)級敏捷和精益等先進研發(fā)理念體驗與樂趣:90后開發(fā)者逐步成為軟件開發(fā)的主力,開發(fā)者年輕化是趨勢,為了迎合年輕化的開發(fā)者,華為云DevCloud在設計之初就非常重視產(chǎn)品體驗,除了提質(zhì)增效,還要讓軟件開發(fā)者在軟件開發(fā)之中體驗到樂趣第9頁/共39頁13.3.1 DevCloud總體架構DevCloud的邏輯架構DevCloud提供多種接入方式,如App移動端、Web端、OpenAPI,可以隨時隨地進行軟件交付DevCloud提供八大核心服務:項目管理、代碼托管、代碼檢查、編譯構建、流水線、測試、部署、發(fā)布,并支持把業(yè)務軟件部署到開發(fā)環(huán)境、集成環(huán)境、生產(chǎn)環(huán)境等不同的研發(fā)與運營環(huán)境第10頁/共39頁13.3.2 DevCloud主要服務項目管理:包含多項目管理、敏捷迭代、需求管理、缺陷跟蹤、文檔管理、看板、百科Wiki、報表統(tǒng)計分析等功能代碼托管:代碼托管(CodeHub)是面向軟件開發(fā)者提供的基于Git的在線代碼托管服務,包括代碼克隆/下載/提交/推送/比較/合并/分支等代碼檢查:代碼檢查(CodeCheck)面向軟件開發(fā)者提供代碼質(zhì)量分析服務,支持
Java、JavaScript、Web、CSS、C++、Android(Gradle)、PHP
和
C#等業(yè)界主流開發(fā)語言編譯構建:編譯構建(CloudBuild)與代碼托管無縫對接,為用戶提供配置簡單的混合語言構建平臺,實現(xiàn)編譯構建云端化,支撐企業(yè)實現(xiàn)持續(xù)交付,縮短交付周期,提升交付效率測試管理:測試管理:(TestMan)是面向軟件開發(fā)者提供的一體化測試管理云服務,覆蓋測試需求、用例管理、缺陷管理,多維度評估產(chǎn)品質(zhì)量,幫助用戶高效管理測試活動,保障產(chǎn)品高質(zhì)量交付部署:部署服務(CloudDeploy)提供可視化、一鍵式部署服務,支持并行部署和流水線無縫集成,實現(xiàn)部署環(huán)境標準化和部署過程自動化發(fā)布:發(fā)布管理(ReleaseMan)是面向軟件開發(fā)者提供軟件發(fā)布管理的云服務,提供軟件倉庫、軟件發(fā)布、發(fā)布包下載、上傳、發(fā)布包元數(shù)據(jù)管理等功能流水線:流水線(CloudPipeline)提供可視化、可定制的自動交付流水線,幫助企業(yè)縮短交付周期,提升交付效率第11頁/共39頁13.4 實踐:DevCloud實戰(zhàn)華為云DevCloud注冊成功注冊進入華為云官網(wǎng)首頁,單擊頁面右上角的“注冊”。設置用戶名、手機號、短信驗證碼、密碼并勾選“我已閱讀并同意《華為云用戶協(xié)議》和《隱私保護》”,單擊“同意協(xié)議并注冊”。用戶注冊成功第12頁/共39頁13.4 實踐:DevCloud實戰(zhàn)華為云DevCloud登錄界面登錄注冊完成就可以登錄華為云DevCloud了,輸入用戶名、密碼,單擊“登錄”按鈕,如圖所示。第13頁/共39頁13.4.2 項目管理創(chuàng)建項目界面新建項目點擊彈出“創(chuàng)建項目”窗口,填寫項目信息,單擊“新建”按鈕,完成一個項目的創(chuàng)建,如圖所示。系統(tǒng)默認給新建的項目創(chuàng)建3個迭代,每個迭代4周,可根據(jù)項目實際情況新建迭代或修改現(xiàn)有迭代。新建工作項在DevCloud中,以工作項為粒度細化整個項目,進行項目規(guī)劃和需求分析,最終將工作項分配給具體人員,指定所屬迭代,設置重要程度等基本信息第14頁/共39頁在“工作”→“backlog”中單擊,彈出“新建工作項”窗口,填寫工作項信息,單擊“保存”按鈕,完成工作項創(chuàng)建,如圖所示第15頁/共39頁創(chuàng)建后的工作項可以根據(jù)實際情況修改狀態(tài)、迭代、處理人等信息,在工作項的歷史記錄中查看修改的信息??梢栽诠ぷ黜椀挠懻搮^(qū)進行討論,實現(xiàn)異地協(xié)同工作第16頁/共39頁3.項目儀表盤項目儀表盤華為云DevCloud的儀表盤界面可以通過燃盡圖表、統(tǒng)計報表等常用圖表,查看需求交付進展第17頁/共39頁13.4.3 代碼托管項目儀表盤1.環(huán)境GitBash下載安裝Git
Bash客戶端軟件是本地PC使用Git必須安裝的軟件,如果本地沒有安裝,請到Git管網(wǎng)下載。安裝成功以后,在開始菜單中會增加GitBash選項配置個人信息安裝完成,運行Git
Bash,在彈出終端頁面按照以下操作進行個人配置。$
“您的名字”$
git
config--global
user.email“您的郵箱”生成一對SSH密鑰運行Git
Bash,在彈出的終端中輸入以下命令,回車后會提示輸入一個密碼,建議不輸入,回車即可。$
ssh-keygen–t
rsa–C“您的email”此時,會在~/.ssh文件夾下生成了一對密鑰:公鑰id_rsa.pub和私鑰id_rsa,私鑰無須處理,保存在本機即可,公鑰的內(nèi)容需要復制到DevCloud中第18頁/共39頁2.云端新建倉庫詳細配置(1)新建空倉庫輸入倉庫名稱輸入描述信息(非必填)勾選“允許項目內(nèi)開發(fā)人員訪問倉庫”(默認勾選)勾選“允許生成README文件”選擇“是否公開第19頁/共39頁添加SSH密鑰添加SSH密鑰粘貼拷貝的公鑰字符串,添加“標題”,單擊“新建”按鈕完成SSH密鑰添加,如圖所示第20頁/共39頁(3)推送本地代碼(1)在代碼根目錄下運行Git Bash終端將本地代碼(本文以java的web項目代碼為例)放在D:\code\DevCloud,在D:\code\DevCloud文件夾空白處單擊鼠標右鍵,選擇“Git Bash Here”(2)推送本地代碼到云端在當前Git Bash終端依次輸入以下命令:$git init$git remote
add
origin
“倉庫地址”$git add$git commit -m“init
project”$git branch–set-upstream-to=origin/master
master$git pull --rebase$git push第21頁/共39頁(4)新建代碼檢查任務創(chuàng)建代碼檢查任務新任務詳細配置信息包括以下幾點:輸入檢查名稱在下拉選項中選擇倉庫,在下拉選項中選擇分支,默認選擇了master分支單擊規(guī)則集,“對號”顯示被選中的規(guī)則集單擊規(guī)則集底部,選擇待檢查的目標文件夾,如果不選擇,就是檢查所有代碼第22頁/共39頁(5)查看檢查結果代碼質(zhì)量報告檢查任務執(zhí)行結束,生成詳細的代碼質(zhì)量報告,用于評估代碼質(zhì)量:第23頁/共39頁13.4.4 構建創(chuàng)建編譯構建任務1.新建構建任務新建構建任務配置如下:任務名稱codeCI代碼倉庫選擇DevCloud,選中“自動構建”時,表示代碼倉庫提交后自動觸發(fā)構建構建類型選擇Maven,其他保持默認增加構建結果,上傳軟件包到發(fā)布倉庫按照左圖輸入“包名”“版本號歸檔修改成target/intro.war(注意:intro.war不要拼寫錯誤)第24頁/共39頁2.執(zhí)行構建任務執(zhí)行編譯構建任務進入構建任務,單擊“開始構建”按鈕,開始執(zhí)行構建,構建構成中,工作空間會顯示構建日志,檢查構建過程和歸檔發(fā)布過程是否出現(xiàn)問題。成功后可以單擊“下載構建包”下載本次構建生成的軟件包,并查看構建歷史第25頁/共39頁13.4.5
測試測試管理(TestMan)是面向軟件開發(fā)者提供的一體化測試解決方案,覆蓋測試需求、用例管理、測試任務管理、缺陷管理,多維度評估產(chǎn)品質(zhì)量,幫助高效管理測試活動,保障產(chǎn)品高質(zhì)量交付,它包括三個部分:測試計劃用例管理測試總覽第26頁/共39頁1.測試計劃在項目規(guī)劃階段將整個項目細化成一個個具體的需求,這也是測試計劃設計形成的過程,測試計劃環(huán)節(jié)針對每個需求設計相應的測試用例第27頁/共39頁2.用例管理用例管理用例管理頁面可以對已經(jīng)創(chuàng)建的測試用例進行管理,可以將用例關聯(lián)到具體的需求或者針對需求設計測試用例,提交bug時就能夠直接將bug指給需求負責人,實現(xiàn)需求-用例-缺陷的雙向追溯第28頁/共39頁3.測試總覽測試總覽測試總覽中展示整個項目的測試概覽,包括需求覆蓋率、缺陷、用例通過率、用例完成率、缺陷分布、用例進展、需求測試進度、成員用例進展和缺陷等第29頁/共39頁13.4.6 發(fā)布軟件開發(fā)服務提供3種類型的發(fā)布倉庫Maven私有依賴庫,用于Maven類型構建過程中第三方依賴包的管理開源鏡像站,鏡像了一些構建過程中的中央倉到后臺,提升構建速度,體現(xiàn)云端構建的優(yōu)勢軟件發(fā)布庫,作為生成的軟件包的版本歸檔管理倉庫,“構建”環(huán)節(jié)生成的軟件包會上傳到該倉庫,“部署”環(huán)節(jié)用于部署的軟件包也取自于該倉庫,如圖發(fā)布倉庫第30頁/共39頁13.4.7 部署當代碼構建打包成功并歸檔到發(fā)布倉庫后,可以進行部署工作,如果沒有可以使用的云主機,可以略過“部署”服務。這里需要注意以下幾點:部署可以頻繁、安全、可持續(xù)地進行部署的版本來自發(fā)布庫使用相同的腳步、相同的部署方式對所有環(huán)境進行部署,確保一致性為了確保安全性和可用性,部署可以采用藍綠部署、灰度部署等能力第31頁/共39頁1.新建部署任務創(chuàng)建部署任務經(jīng)過“基本信息”→”部署設置”→“配置主機”→“軟件包選擇”等操作完成部署任務的創(chuàng)建,如圖第32頁/共39頁2.執(zhí)行部署任務執(zhí)行編譯構建任務執(zhí)行編譯構建任務,系統(tǒng)動態(tài)展示部署進程,當部署進程全部亮起綠燈,通過應用驗證路徑查看部署效果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股東合作協(xié)議及條款詳解
- 2025年長沙貨車從業(yè)資格證模擬考試
- 3D打印技術與設備應用指南
- 2025年深圳道路運輸從業(yè)資格證考哪些項目
- 個人挖機機械租賃合同5篇
- 安全性評價技術服務合同
- 2025年寧夏道路貨運駕駛員從業(yè)資格證考試題庫完整
- 建筑工程木工合同
- 辦公信息化解決方案報告
- 交通意外事故賠償協(xié)議書
- 三年級語文 溪居即事市賽一等獎
- 2024年山東化工職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 《新病歷書寫規(guī)范》課件
- 2024年中小學生守則修訂版
- 博覽會展位裝修及布展投標方案技術標
- 顧客提問的問題100條
- 肝膿腫教學查房課件
- 跳繩之雙腳跳教案
- 拇外翻護理課件
- 六年級英語教學隨筆5篇
- 讀書分享交流會《從一到無窮大》課件
評論
0/150
提交評論