課程簡介
本課程聚焦CICD應用與項目最佳實踐,為期兩天。結(jié)合案例分析、演示與上機實踐,深入探討CICD常見問題及解決方案。課程涵蓋DevOps過程、持續(xù)集成、自動化測試、持續(xù)部署等關鍵環(huán)節(jié),使用Jenkins、SonarQube、Robot Framework等工具。通過理論與實踐結(jié)合,幫助學員提升項目交付效率與質(zhì)量。
目標收益
1、掌握CICD流程,提升項目交付效率。
2、學會使用Jenkins實現(xiàn)持續(xù)集成。
3、理解DevOps體系,促進團隊協(xié)作。
4、掌握自動化測試框架,提高測試效率。
5、學會代碼質(zhì)量評估,提升代碼質(zhì)量。
6、掌握持續(xù)部署方法,實現(xiàn)自動化部署。
培訓對象
IT項目管理人員
軟件開發(fā)工程師
測試工程師
DevOps工程師
敏捷教練
技術團隊負責人
課程大綱
DevOps概述 |
1.什么是DevOps 2.DevOps發(fā)展現(xiàn)狀 3.DevOps的作用 4.DevOps未來發(fā)展趨勢 |
DevOps過程與體系 |
1.DevOps與敏捷開發(fā)過程 2.DevOps對應用程序發(fā)布的影響 3.角色定義與分工 4.變更管理 5.促進DevOps戰(zhàn)略 6.DevOps成功的關鍵因素 7.DevOps五大重點 8.DevOps度量標準 |
持續(xù)集成概述 |
1.什么是持續(xù)集成(CI) 2.為什么需要持續(xù)集成? 3.主流持續(xù)集成工具對比分析 4.持續(xù)集成的優(yōu)勢 5.持續(xù)集成過程包含要素 6.持續(xù)集成面板 7.每日構(gòu)建與持續(xù)集成 8.持續(xù)集成常見問題解決方案 9.持續(xù)集成環(huán)境配置 |
持續(xù)集成實踐 |
1.提高項目的可見性 2.持續(xù)集成原則 3.6步提交法 4.持續(xù)集成的主要瓶頸 5.如何真正做到敏捷測試? 6.一段視頻引發(fā)的思考 7.【案例】傳統(tǒng)測試與敏捷測試項目對比 8.【案例】CI值日生 |
Jenkins概述 |
1.Jenkins簡介 2.Jenkins安裝方式 3.Jenkins啟動方式 4.Jenkins主要功能 5.Jenkins應用場景 6.Jenkins如何實現(xiàn)持續(xù)集成 |
質(zhì)量左移 |
1.缺陷修復成本比較 2.質(zhì)量左移與右移 3.質(zhì)量左移的目的 4.【案例】利用大模型進行代碼質(zhì)量評分 |
靜態(tài)代碼掃描 |
1.代碼質(zhì)量 2.靜態(tài)代碼掃描的重要性 3.代碼的壞味道 4.爛代碼的代價-產(chǎn)生bug的原因 5.優(yōu)秀代碼的評價標準 6.靜態(tài)測試與動態(tài)測試 7.git插件應用 8.SonarQube簡介 9.SonarQube配置 10.質(zhì)量閾與掃描規(guī)則定義 11.Sonar cube與jenkins集成 12.【案例】使用SonarQube進行代碼掃描 13.【案例】掃描結(jié)果郵件與消息通知 |
代碼編譯構(gòu)建 |
1.編譯java代碼 2.定時構(gòu)建 3.代碼提交觸發(fā)構(gòu)建-鉤子設置 4.打包版本管理與顯示 5.并行化構(gòu)建 |
構(gòu)建打包存檔 |
1.上傳jar包至FTP服務器 2.構(gòu)建結(jié)束自動通知 |
代碼覆蓋率統(tǒng)計與分析 |
1.java代碼覆蓋統(tǒng)計工具jacoco 2.代碼覆蓋工具與jenkins集成 |
測試環(huán)境自動化構(gòu)建 |
1.綁定jenkins slave環(huán)境 2.slave標簽化管理 3.部署被測系統(tǒng) 4.指定slave環(huán)境運行測試 |
自動化測試框架robot framework |
1.Robot Framework 簡介 2.Robot Framework安裝與配置 3.如何使用Robot集成外部腳本與工具 4.使用Robot集成腳本運行結(jié)果 5.【案例】使用Robot調(diào)用外部腳本 6.【案例】全流程測試自動化框架 |
API接口測試自動化 |
1.發(fā)送請求 2.為URL傳遞參數(shù) 3.響應內(nèi)容 4.原始響應內(nèi)容 5.響應狀態(tài)碼 6.錯誤與異常 7.通過關鍵字驅(qū)動實現(xiàn)API測試自動化 8.【案例】使用robot+request完成API測試自動化 |
web測試自動化與報告 |
1.selenium環(huán)境搭建與安裝 2.常用關鍵字與操作 3.利用python開發(fā)自定義關鍵字 4.封裝關鍵字并復用 5.使用robot +selenium實現(xiàn)web自動化 6.展示html報告 7.結(jié)果郵件自動通知 |
Jenkins實用插件案例 |
1.Pipeline插件應用 2.定時觸發(fā)job 3.Dashboard插件 4.郵件通知插件 |
流水線構(gòu)建 |
1.上下游job關聯(lián) 2.并行job配置 3.參數(shù)上下游傳遞 4.定制化流水線 5.流水線可視化展示 |
持續(xù)部署 |
1.持續(xù)交付與持續(xù)部署 2.持續(xù)部署的主要過程 3.promote tag機制 4.post check 5.滾動升級 6.版本回滾 |
藍綠發(fā)布 |
1.什么是藍綠發(fā)布 2.藍綠發(fā)布實現(xiàn)步驟 |
使用Jenkins實現(xiàn)CD |
1.SSH遠程節(jié)點綁定 2.遠程部署腳本編寫 3.【案例】使用Jenkins實現(xiàn)藍綠發(fā)布 |
線上自動化健康檢查 |
1.接口調(diào)用檢查 2.流量檢查 3.監(jiān)控指標檢查 |
上機練習(課堂穿插進行) |
1.1.安裝/配置 Jenkins 1.2.常用插件安裝與配置 1.3.構(gòu)建pipeline流水線 1.3.1.與git集成 1.3.2.編譯打包 1.3.3.集成測試環(huán)境自動化部署 1.3.4.運行自動化測試 1.4.Job參數(shù)傳遞 1.5.Jenkins master & slave 配置 |
DevOps概述 1.什么是DevOps 2.DevOps發(fā)展現(xiàn)狀 3.DevOps的作用 4.DevOps未來發(fā)展趨勢 |
DevOps過程與體系 1.DevOps與敏捷開發(fā)過程 2.DevOps對應用程序發(fā)布的影響 3.角色定義與分工 4.變更管理 5.促進DevOps戰(zhàn)略 6.DevOps成功的關鍵因素 7.DevOps五大重點 8.DevOps度量標準 |
持續(xù)集成概述 1.什么是持續(xù)集成(CI) 2.為什么需要持續(xù)集成? 3.主流持續(xù)集成工具對比分析 4.持續(xù)集成的優(yōu)勢 5.持續(xù)集成過程包含要素 6.持續(xù)集成面板 7.每日構(gòu)建與持續(xù)集成 8.持續(xù)集成常見問題解決方案 9.持續(xù)集成環(huán)境配置 |
持續(xù)集成實踐 1.提高項目的可見性 2.持續(xù)集成原則 3.6步提交法 4.持續(xù)集成的主要瓶頸 5.如何真正做到敏捷測試? 6.一段視頻引發(fā)的思考 7.【案例】傳統(tǒng)測試與敏捷測試項目對比 8.【案例】CI值日生 |
Jenkins概述 1.Jenkins簡介 2.Jenkins安裝方式 3.Jenkins啟動方式 4.Jenkins主要功能 5.Jenkins應用場景 6.Jenkins如何實現(xiàn)持續(xù)集成 |
質(zhì)量左移 1.缺陷修復成本比較 2.質(zhì)量左移與右移 3.質(zhì)量左移的目的 4.【案例】利用大模型進行代碼質(zhì)量評分 |
靜態(tài)代碼掃描 1.代碼質(zhì)量 2.靜態(tài)代碼掃描的重要性 3.代碼的壞味道 4.爛代碼的代價-產(chǎn)生bug的原因 5.優(yōu)秀代碼的評價標準 6.靜態(tài)測試與動態(tài)測試 7.git插件應用 8.SonarQube簡介 9.SonarQube配置 10.質(zhì)量閾與掃描規(guī)則定義 11.Sonar cube與jenkins集成 12.【案例】使用SonarQube進行代碼掃描 13.【案例】掃描結(jié)果郵件與消息通知 |
代碼編譯構(gòu)建 1.編譯java代碼 2.定時構(gòu)建 3.代碼提交觸發(fā)構(gòu)建-鉤子設置 4.打包版本管理與顯示 5.并行化構(gòu)建 |
構(gòu)建打包存檔 1.上傳jar包至FTP服務器 2.構(gòu)建結(jié)束自動通知 |
代碼覆蓋率統(tǒng)計與分析 1.java代碼覆蓋統(tǒng)計工具jacoco 2.代碼覆蓋工具與jenkins集成 |
測試環(huán)境自動化構(gòu)建 1.綁定jenkins slave環(huán)境 2.slave標簽化管理 3.部署被測系統(tǒng) 4.指定slave環(huán)境運行測試 |
自動化測試框架robot framework 1.Robot Framework 簡介 2.Robot Framework安裝與配置 3.如何使用Robot集成外部腳本與工具 4.使用Robot集成腳本運行結(jié)果 5.【案例】使用Robot調(diào)用外部腳本 6.【案例】全流程測試自動化框架 |
API接口測試自動化 1.發(fā)送請求 2.為URL傳遞參數(shù) 3.響應內(nèi)容 4.原始響應內(nèi)容 5.響應狀態(tài)碼 6.錯誤與異常 7.通過關鍵字驅(qū)動實現(xiàn)API測試自動化 8.【案例】使用robot+request完成API測試自動化 |
web測試自動化與報告 1.selenium環(huán)境搭建與安裝 2.常用關鍵字與操作 3.利用python開發(fā)自定義關鍵字 4.封裝關鍵字并復用 5.使用robot +selenium實現(xiàn)web自動化 6.展示html報告 7.結(jié)果郵件自動通知 |
Jenkins實用插件案例 1.Pipeline插件應用 2.定時觸發(fā)job 3.Dashboard插件 4.郵件通知插件 |
流水線構(gòu)建 1.上下游job關聯(lián) 2.并行job配置 3.參數(shù)上下游傳遞 4.定制化流水線 5.流水線可視化展示 |
持續(xù)部署 1.持續(xù)交付與持續(xù)部署 2.持續(xù)部署的主要過程 3.promote tag機制 4.post check 5.滾動升級 6.版本回滾 |
藍綠發(fā)布 1.什么是藍綠發(fā)布 2.藍綠發(fā)布實現(xiàn)步驟 |
使用Jenkins實現(xiàn)CD 1.SSH遠程節(jié)點綁定 2.遠程部署腳本編寫 3.【案例】使用Jenkins實現(xiàn)藍綠發(fā)布 |
線上自動化健康檢查 1.接口調(diào)用檢查 2.流量檢查 3.監(jiān)控指標檢查 |
上機練習(課堂穿插進行) 1.1.安裝/配置 Jenkins 1.2.常用插件安裝與配置 1.3.構(gòu)建pipeline流水線 1.3.1.與git集成 1.3.2.編譯打包 1.3.3.集成測試環(huán)境自動化部署 1.3.4.運行自動化測試 1.4.Job參數(shù)傳遞 1.5.Jenkins master & slave 配置 |