Azure DevOps一日實戰
- 讓DevOps釋放團隊能量
- 敏捷開發者的一天
- 你的預備動作
- 進入Azure DevOps的世界
- 建立第一個Azure DevOps專案
- 建立自動化CI Build
- 從版控開始
- 實現自動部署
- Lab:第一個專案
看板(Kanban)與Azure Board
持續整合的基礎-版控
- 一切都是為了頻繁交付
- 認識Azure Repos
- 從Visual Studio連上Azure Repo
- 從VS Code連上Azure Repo
- 從命令列Clone與使用Azure Repo
- Lab : 從Local推送到Repo
- 從tasks連結到branch
- 團隊合作分支策略
- PR與Code Review
- Lab : GitHub Flow與PR
Azure CI Pipeline
- 在CI中發布到雲端站台
- CI中的程式碼靜態掃描
- 建立Self-Hosted Agent
- CI中的套件掃描
- 使用AI(GPT)對PR進行code reivew
- 在Pipeline中發送LINE訊息
- 容器化程式的CI/CD
Azure Artifacts
關於Release CD Pipeline
再談持續整合與持續佈署
Test Plans與測試案例
參考資料
讓DevOps釋放團隊真正能量
DevOps是實踐敏捷開發的門票,若想真正做到頻繁交付價值,軟體開發團隊不可能沒有DevOps。最近幾年,資安事件頻傳,想兼顧開發效率與品質、安全性,本身就是很大的挑戰,這讓DevOps更顯得不可或缺。
這門課,我們將帶您體驗DevOps的威力,並且讓您深入了解DevOps在軟體開發中的重要性。
我們將從直接帶您建立一個自動化的建置與部署流程開始,讓您體驗近代軟體開發之所以能夠輕易實現一周交付數次、甚至是一天交付(上版)數次,卻又能夠同時維持高品質、且兼顧軟體安全性的關鍵...
在您體驗所謂的頻繁整合、持續交付的同時,你將完整的看到從需求出現,一直到將功能交付到用戶手上的這整個自動化過程,並且讓您的團隊也可以建立出這個流程,且享有其帶來的好處與價值。
歡迎您,立即加入這趟旅程。
課程對象與內容
本課程的主要學習對象,為具有基礎開發能力的軟體工程師或維運人員,課程中以少許 C# 及 Bash/CLI 指令為主要工具,採用Azure DevOps作為CI/CD/版控/專案管理管理平台,介紹如何在真實世界中實踐 DevOps 與 CI/CD 自動化流程。
完成此課程,你會得到底下的成果:
- 熟悉微軟Azure DevOps技術,成為 DevOps/SRE 專家。
- 能夠帶領團隊實現高品質的頻繁交付、設計CI/CD Pipeline、規劃團隊合作的版控/測試流程、需求管理、軟體相依性管理...等。
- 掌握軟體開發的每一個環節,包含自動化測試、自動化安全性掃描、套件開發與相依性管理、藍綠佈署、金絲雀佈署、Feature Toggle...等使用技巧。
課程具體內容包含:
DevOps Introduction
- 介紹何謂 DevOps, DevOps與CI/CD Pipeline對於近代軟體開發生命週期之影響、與帶來的改變
- 介紹DevOps的實踐方式與相關做法、內涵
- 關於DevOps的企業實踐與組織文化建立
- Azure DevOps Services 申請與環境介紹
DevOps、敏捷(Agile)、與看板(Azure Board)應用
- 敏捷方法(agile methodology)成就了 DevOps 的承諾,讓快速迭代交付、持續品質改善 成為可能。
- 本單元介紹迭代、敏捷、與DevOps之間的關係。
- 如何從需求(requirements)的蒐集開始、進一步整合到開發與工作項(work items)管理、進入DevOps pipeline
- 使用看板(Kanban)進行工作規劃,搭配Agile/CMMI/Scrum/Basic Process template 進行專案管理
- 看板設計、迭代設計、remaining work與工時規劃
- 工作項生命週期與Sprint
- 跨專案查詢(query)的建立與使用
- 建立數位儀表板(Dashboard)管理專案狀態
- 使用 delivery plans 跨專案檢視相依性與專案全貌
- 使用 SpecMap/User-Story Mapping 規劃工作與迭代(iteration)
從Repos開始,預備建置Pipeline
- 版控(Version Control)驅動了DevOps Pipeline的運作,在這個單元,我們會介紹何謂Pipeline,會看到 DevOps 流程如何透過Git版控被觸發、運行。如何建立良好的機制,整合原始程式碼(source code)、工作項目、異動紀錄、透過PR進行Code Review、串聯到自動化更新與上版。
- 同時,也介紹分支流程策略的選擇與DevOps之間的關係。
關於持續整合(CI-continuous integration)
- Pipeline是CI(continuous integration)的實踐,透過持續整合,將大幅度提升軟體品質、讓團隊合作有高效的產出,更進一步的,我們能夠有效的縮短開發時程。
- 在這個單元,我們將會看到如何加快軟體開發的方式,並且兼顧品質與安全性。不是透過加班、不需要在團隊中加人,在同樣的人力和更短的時間內,我們將可以實現更多且更高品質的產出。
- 同時,我們也介紹CI Pipeline當中的重要機制,包含如何在Pipeline中實現自動化測試、程式碼掃描、套件掃描、以及相當重要的PR-CI(PR Pipeline)...
關於持續交付(CD-continuous delivery)
- 持續交付(continuous delivery)與自動化佈署機制介紹
- 自動化佈署與簽核機制(Approval)的實現、如何使用Release Gate來確保交付品質
- 現代化佈署模型介紹(zero-downtime的藍綠佈署、金絲雀佈署...等)
- 使用Feature Toggle實現Release與Deployment分離
- 支援容器技術(Container)的自動化佈署機制
系統維運、即時監控、與反饋的取得
- 良好的軟體生命週期管理不會停止在交付,而是持續監控軟體運行的狀況,並且持續改善。在這個單元,我們介紹如何透過既有的技術,針對交付後的軟體進行持續的品質追蹤與改善,讓用戶對產品與團隊有更高的信任、透過高品質的軟體,實現高效的工作產出。
關於測試與測試自動化
- 本單元討論如何在 CI 流程中實現各種自動化測試機制,從Unit Test, TDD, Automatic Test, ... 到 Load Test 。讓自動化的版本發布更有品質保障。
DevOps與安全性
- DevOps提升了軟體開發的透明與自動化,讓交付可以從數月一次提升至每月(甚至每周、每天)數次,但自動化的交付如何確保安全性可以被兼顧? 如何確保軟體交付依舊具有(甚至有更好)的安全性控管? 在這個單元中我們會討論 DevOps 與安全性之間的關係,包含CI、CD以及軟體開發的相依性管理。
系統架構與部署策略
- 本單元討論不同系統架構、框架、與開發環境下,各種系統的部署方式與策略
- 持續交付中 Feature Toggle的實際使用(Azure)
- 關於現代化佈署模型(zero-downtime的藍綠佈署、金絲雀佈署…等)的實作(Azure)
DevOps的規劃與導入策略
- 導入DevOps與組織轉型的重要步驟
- 如何設定 KPI? 如何評估導入狀況?
- 如何在企業中導入變革(如何營造順暢低阻力的改變)
Azure test Plans 與 敏捷測試
- 近代軟體開發中的測試工作面對很大的難題。敏捷與DevOps的出現,讓測試人員遭遇到前所未有的挑戰。面對一周數次甚至一天數次的頻繁交付,測試人員可用的測試時間越來越短,但軟體品質與資安需要卻又愈來愈被要求。如何透過Azure Test Plans有效的管理測試案例,更精準的進行測試,是這個單元要介紹的重點。
Admin Overview
- Azure DevOps 管理者功能與權限設定
- Azure DevOps 團隊環境配置
- Build Agent 的建立與使用
- ...持續更新中...
課程內容呈現
本課程以超過50部影片和扼要的文字所構成。我們認為,文字和圖解才是最適合快速學習、理解重點的主要媒介,而影片則可以讓您迅速地掌握操作過程和步驟,兩者缺一不可。
所以,我們將影片與文字搭配交叉進行,請學習者依照順序,仔細閱讀並搭配操作影片,可於最短的時間內,最大程度掌握Azure DevOps各項技巧。
認證考試
本課程由微軟認證講師(MCT)、微軟技術社群區域總監(RD)、微軟AI/Developer MVP -- 董大偉老師所規劃,學員可搭配微軟AZ-400認證考試,提升本身技術能力。
持續更新
為了確保您學習到的都是最新的技術,本課程會定時持續更新。一個停滯不更新的課程,是死的。如果對此課程有任何反饋獲回應,請點選右上角的提供反饋圖示。