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?
開始前,我們先問自己一個問題。
今天,你的團隊,從需求(或bugs)出現,一直到將其生產出來並且毫無瑕疵地交付到用戶手上,需要多久時間?
2021年,估計大家都有在網路上預約疫苗或是申請五倍券(或是其他甚麼券)的經驗吧? 告訴我,倘若你上網登記時發現網站故障了,你希望它多久修復好? 倘若你覺得系統很難使用或出現錯誤,而設計單位也承諾要著手改善,你希望這網站多久能夠完成更新?
每當我問學員這個問題,答案都是同一個,就是『越快越好』,最好能夠立刻、馬上、隨時。
如果,我們對其它人的網站是這麼要求的,那我們的客戶呢? 我們的客戶對我們的期待是不是也是如此?
Cycle Time 與 Lead Time
過去(大概五到十五年前),軟體不管碰到bugs或是新功能的交付,往往必須等候數個月甚至數年,還記得以前Windows作業系統或是Office軟體的更新頻率嗎。然而,如今我們對系統更新頻率的期待已經變更為數周、數天、甚至數小時…。
而持續縮短用戶等候時間、改善Cycle Time(開始實作需求到完成交付)、Lead Time(收到需求到完成交付),同時還能夠一併提升(而非犧牲)軟體的品質與安全性,這才是DevOps想追求的核心價值。
在上課時我會跟學員說,如果你團隊至今,不需要頻繁交付價值、頻繁修改bug、頻繁更新,也不需要確保品質和安全性,那有沒有DevOps對你來說確實也無所謂。
但如果你需要呢?
當你開始有頻繁交付的思維,從程式碼的版控開始,就跟過去有很大的不同。你需要盡可能的減少版控分支數量、縮短分支的生命週期、鼓勵團隊頻繁且持續的整合(CI)、大量提高自動化的比例、將人工測試用於探索性測試...這些,都還只是開始。
如何透過DevOps,讓你的團隊實現快速、高品質的軟體更新與功能交付,就是我們這這段落想和你談論的話題。