在 ADO Pipeline 中使用 SonarCloud 進行自動化源碼掃描
程式碼品質,絕對是每個專業開發團隊都會遇到的課題。 你知道的,當系統上線後,突然收到資安通報說發現了安全性漏洞,需要緊急修補。更糟的是,這個漏洞在開發階段就可以避免,只是當時沒人發現。然後你開始翻 Commit 紀錄,發現那段有問題的程式碼正是自己幾個月前寫的…這種情境難免會讓你冷汗直流。 這是為什麼我們需要在 SAST(Static Application Security Testing,靜態應用程式安全測試)與源碼掃描的原因。它就像是你的程式碼守門員,在你還沒意識到問題之前,先幫你把那些潛在的地雷給挖出來。 SAST 與 SonarCloud 的關係 靜態程式碼分析,也就是我們常說的原碼掃描,它不是去執行你的程式,而是透過搜尋常見的程式碼撰寫樣式,嗅出程式碼中可能的安全漏洞、程式碼壞味道(code smell)、技術債、還有那些可能會在半夜讓你接到客戶電話的潛在bug。 SonarCloud 則是 SonarSource 提供的原碼掃描雲端服務版,它基於知名的 SonarQube,但你不用自己架設伺服器、不用煩惱維護更新,申請完直接使用就行了。 對於使用 Azure DevOps 的團隊來說,兩者更是天作之合,因為官方有提供極其簡單好用的 Tasks 支援,整合起來超級輕鬆,幾個步驟就搞定。 而且,SonarCloud 支援超過 25 種程式語言,從 C#、Java、JavaScript 到 Python,基本上你想得到的它都有。它不只找出你的程式碼潛在問題,還會告訴你為什麼這段程式碼會是個問題、以及該怎麼修復,甚至連預估要花多少時間修復都幫你算好了。 我在 2020 年寫過一篇關於在 Azure DevOps Build Pipeline 中整合 SonarCube 的文章。但你也知道,科技業的時間流速跟外面不太一樣,四年過去了,很多東西都變了。 所以,是時候來個 2026 年的更新版了。 開始動手 : SonarCloud 帳號申請與設定 好,廢話不多說,我們直接開始。 首先,你需要一個 SonarCloud 雲端帳號。如果你有 Azure DevOps 帳號,就可以直接用它以 SSO 方式登入 SonarCloud,不用再另外註冊帳號。 你可以前往 https://SonarCloud.io/ ,選擇用 Azure DevOp...