iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0
DevOps

Azure DevOps Troubleshooting and best practices 系列 第 30

DevOps Tool 建議與 Azure DevOps troubleshooting and best practices 彙整

  • 分享至 

  • xImage
  •  

前言

Azure DevOps 這項服務發展已久,從過去的 Visual Studio Team Services 發展至今天 Azure DevOps Service,地端從 TFS 發展成 Azure DevOps Server,很幸運的,無論雲端霍地端服務,這過去三年自己著墨不少。理所當然,我這邊不太會撰寫關於地端問題與最佳實踐,主要原因在於用戶較為特殊(注重安全)也較少,維護成本也相對高,所以公開這些維護技術與最佳實踐其受眾太少。也因為維護成本高,所以在客戶端建議時皆會先以 Azure DevOps Service 為主。

擔任顧問期間,也有許多開發團隊詢問哪一種 DevOps Tool 最好,但實際上這是不一定的答案

  1. 如果團隊想要執行 Agile 與 Scrum,我會建議使用 Azure DevOps,因為該產品專案管理部分即以此目標設計,團隊可以省下很多設定與規劃時間 (理所當然,也被侷限,沒有 Jira 可以高度客製,但高度客製代價即是高維護成本)
  2. 如果團隊注重可以使用的擴充套件與安全性,我會建議使用 GitHub,經年累月的開放原始碼的服務平台,對於擴充套件與安全性絕對不會讓團隊失望。
  3. 其他部分,則會以較多教學資源與市占率為主,GitLab 與 GitHub 皆推薦,如果有團隊已經熟悉的工具即有加分,主因在於更容易進行問題排除與容易尋覓人才
  4. 過於陽春,需要花費團隊更多心力去做整合的產品,如 Jenkins 則比較不推薦 (並非它不好,而是以企業長期維護成本來看這件事)。

下圖為 Jetbrains 於 2023 年 7月調查,大概可以知道較常使用的 CI Tools 有哪些 (但仍需要考慮區域不同而有所差異,以台灣而言 GitHub 使用的企業比例較低)

資料來源:https://blog.jetbrains.com/teamcity/2023/07/best-ci-tools/ (引用資料來源若有不妥請告知)

https://ithelp.ithome.com.tw/upload/images/20231015/20091494LBcXNYi8rL.png

 

與過去相同,我們簡單彙整 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, 分享與訂閱,謝謝您的閱讀


上一篇
Azure Pipeline 無限劍製 - VMSS 代理程式
系列文
Azure DevOps Troubleshooting and best practices 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言