DevOps Workshop | 程式碼管理入門:基於程式碼掃描實現團隊效率提升
CODING「DevOps Workshop 學習營地」持續火熱進行中!
在這裡,你可以輕鬆實踐 DevOps 全流程、體驗高效的雲端開發、贏取精美禮品——第二期大獎「戴爾 U2718Q 顯示器」將於 12 月 3 日開獎,請儘快前往 CODING,完成任務參與抽獎,iPad Pro、HHKB 鍵盤和 Bose 耳機等禮品均有機會獲得!也可以根據 CODING 最佳實踐系列文章,探索更多新玩法。
「DevOps Workshop 學習營地」活動鏈接
//workshop.coding.io
點擊直達,在 PC 端瀏覽器中打開體驗更佳
接下來,開始閱讀本篇 CODING 程式碼管理能力之「程式碼掃描」最佳實踐吧!
CODING 程式碼掃描通過分析程式碼倉庫中的源程式碼,能夠及時發現其中潛藏的程式碼缺陷、安全漏洞以及不規範程式碼。
- 程式碼掃描內部目前集成了幾十種工具、數千條規則,支援十餘種常用開發語言,可在功能、安全、性能、可用性、程式碼規範等多個維度尋找您程式碼中的漏洞並提供修改建議。
- 責任人自動指派問題程式碼提交人,問題程式碼修復後可自行關閉,實現問題的閉環處理。
- 為了便於您的使用,系統內置了多種推薦掃描方案,也支援您按需訂製。
- 支援自動化執行程式碼掃描:您可以通過設置觸發規則,指定合適的時機比如合併請求時自動執行程式碼掃描。
- 支援對倉庫的多個分支進行全量或增量的掃描。
實踐—輔助程式碼評審
在團隊的開發協作中,為把控工程品質,推薦在合併場景中進行程式碼評審。但僅採用人工審查的方式,往往需要耗費大量時間與精力,使用程式碼掃描可自動掃描源分支生成掃描結果,並根據掃描結果自動攔截問題程式碼的合入,防止目標分支被污染,提升程式碼評審效率。
配置掃描任務
新建掃描任務
選定需管控程式碼品質的倉庫及分支,以及擬使用的掃描方案,即可創建掃描任務。
配置觸發規則
在掃描任務中點擊設置,輕點觸發規則即可看到程式碼倉庫觸發設置。
配置品質門禁
開啟後,建議將致命問題和錯誤問題閾值設置為 0,其一般為影響系統穩定和安全的嚴重漏洞。
開啟「管控合併請求」開關後,無論是否為保護分支,合併至此分支的所有合併請求必須通過品質門禁後才允許合併。
程式碼掃描如何用於輔助程式碼評審
合併請求觸發掃描
按照上文所述配置好分支的掃描任務後開啟「管控合併請求」,向該分支新建合併請求時將自動觸發程式碼掃描,若不通過品質門禁將自動攔截禁止合入。
您可以在合併請求詳情中,查看問題概覽、問題報告來了解程式碼品質。
查看問題報告
點擊查看問題報告,可以看到本次掃描後的所有問題,每個問題都有與之對應的所屬文件、問題所匹配的規則、問題級別等內容。
查看問題詳情
點擊查看問題,可以看到問題的位置與錯誤原因,點擊右側的修復建議可以查看問題原因並輔助進行修復。
示例:sql 注入警告
修復問題後重新推送
建議按照問題級別依次修復掃描出的問題,在本地修復完成後可提交至源分支,將自動觸發程式碼掃描。
總結
通過上述方式配置程式碼掃描,可幫助團隊在合併請求的場景中有效的管控程式碼品質,並提升團隊對程式碼評審的效率和積極性,進而提升整個團隊的工程品質。
- 對於提交者,程式碼掃描可以提前發現自己的問題,及時修正以避免合併請求被拒絕。
- 對於評審者,程式碼掃描不僅可以通過掃描結果輔助程式碼評審,還能夠自動攔截問題程式碼的合入。
- 對於團隊,有了程式碼掃描可以在日常工作中提前發現問題程式碼,提高程式碼評審的效率,降低項目交付上線時存在的風險。
點擊前往活動,「DevOps Workshop 學習營地」大獎等你贏!