Azure DevOps 這項服務發展已久,從過去的 Visual Studio Team Services 發展至今天 Azure DevOps Service,地端從 TFS 發展成 Azure DevOps Server,很幸運的,無論雲端霍地端服務,這過去三年自己著墨不少。理所當然,我這邊不太會撰寫關於地端問題與最佳實踐,主要原因在於用戶較為特殊(注重安全)也較少,維護成本也相對高,所以公開這些維護技術與最佳實踐其受眾太少。也因為維護成本高,所以在客戶端建議時皆會先以 Azure DevOps Service 為主。
擔任顧問期間,也有許多開發團隊詢問哪一種 DevOps Tool 最好,但實際上這是不一定的答案。
下圖為 Jetbrains 於 2023 年 7月調查,大概可以知道較常使用的 CI Tools 有哪些 (但仍需要考慮區域不同而有所差異,以台灣而言 GitHub 使用的企業比例較低)
資料來源:https://blog.jetbrains.com/teamcity/2023/07/best-ci-tools/ (引用資料來源若有不妥請告知)
與過去相同,我們簡單彙整 Azure DevOps troubleshooting and best practices 文章,讓讀者比較容易分類並選取自己想看的,大致上可以做為以下分類:
Azure DevOps 專案管理與基本操作
Azure DevOps - Project 架構與搬移說明
Azure DevOps migration - Azure Board 介紹與搬移 (上)
Azure DevOps migration - Azure Board 介紹與搬移 (下)
Azure DevOps migration - 如何搬移 Azure Pipeline 至其他專案 (上)
Azure DevOps migration - 如何搬移 Azure Pipeline 至其他專案 (下)
Azure DevOps Migration - Azure Repos 搬移
Azure Pipeline - YAML 如何範本化工作與作業
Azure Repos
如何在 Azure Pipeline 內對於 Git 進行 Troubleshooting
Azure Repos 管理 - 如何讓團隊開發更加流暢
Azure Repos 管理 - 安全與分支管理
Azure Pipeline
功能齊全的持續整合 (CI) 和持續交付 (CD) 服務 - Azure Pipeline
Azure Pipeline 危機處理: Task 管理思維與如何固定 Task 版本
讓 IT 人員了解程式碼建置運作 - Azure Pipeline 基本診斷技巧
Azure Pipeline Trigger 常見問題與最佳實踐
Azure Pipeline - 如何使用 Container 提升 Agent 能力卻不提升複雜度
如何規劃 Azure Pipeline 權限
Azure Pipeline - 代理程式集區與代理程式管理最佳實踐
Azure Pipeline 危機處理 - 使用者不能不知道 Roll back 操作
Azure Pipeline - 代理程式日常維護工作
Azure Pipeline – 自行建立清理代理程式作業資料夾 Pipeline
Azure Pipeline 無限劍製 - VMSS 代理程式
Security
DevSecOps 最佳實踐
Azure Pipeline 基本安全性掃描 - Microsoft Security DevOps Azure DevOps 擴充功能
Azure DevOps Security - GitHub Advanced Security for Azure DevOps
Azure Pipeline 進階應用 - 安全檔案
Azure Artifact
Azure Artifacts – 為何團隊需要 Package Management
Azure Artifacts – 以 nuget 為例的實作
隨著工作經歷不同,每年想要撰寫的文章類型皆不同。過去自己不太會想寫 Azure DevOps 系列文章在於相關教學已經相當豐富,初學類似文章內容重複程度高,也不是初次想要徹底學習題材。但因為自己本身從開發、現場工程師(做企業內部 Azure DevOps assessment)、講師、顧問、平台管理者經驗4年,發現其中有些除錯經驗、常見問題與最佳實踐可以彙整出一系列文章,於是才決定這次鐵人賽的題目。但有趣的是,這些文章並非適用所有企業與團隊,而是在有特別情境時才會用到,如搬家 (Migration) 系列文章,在過去 4 年工作經驗遇到有需求案件只有兩件,但對於大量團隊使用的 Azure DevOps 卻是重要的議題。所以起初定調此系列文章並不適用於初學者與一般團隊,而是對 Azure DevOps 有高度興趣且有特殊情境的少數使用者,也算一次很特別系列文章經驗。
最終,仍要不免俗地感謝家人與朋友的支持。因為隨著工作與家庭越來越忙碌,要完成鐵人賽的難度也越來越高,若沒有家人朋友們的體諒與支持是很難完賽的。
若喜歡我的文章,歡迎點 like, 分享與訂閱,謝謝您的閱讀