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