使用云效Flow做質量檢測,保障高質量的交付速度,云效「Flow」 提供代碼掃描、 安全掃描和各種自動化測驗能力,支持人工測驗卡點、自動化驗證卡點等多種質量紅線,確保業務質量,云效流水線 Flow 流水線是持續交付的載體,通過構建自動化、集成自動化、驗證自動化、部署自動化,完成從開發到上執行緒序的持續交付,通過持續向團隊提供及時反饋,讓交付程序高效順暢, 更多「云效」產品,查看:云效快速入門 「Flow」 提供代碼掃描、 安全掃描和各種自動化測驗能力,支持人工測驗卡點、自動化驗證卡點等多種質量紅線,確保業務質量,如何使用質量檢測能力,下面這篇內容告訴你一章
一、代碼掃描
1、代碼掃描能力 云效Flow 為主流語言提供了開箱即用的代碼掃描能力,為用戶提供了快速檢測代碼質量的能力, 支持語言和規則 目前飛流支持掃描的語言和規則,如下表所示: 查看詳情點擊代碼掃描能力 (aliyun.com)
掃描場景支持
- 代碼全量掃描
- 代碼增量掃描 全量掃描和增量掃描
- 特定的代碼目錄掃描 指定或排除目錄掃描
- 指定規則集掃描 指定掃描規則集
- 使用模板新建流水線,選擇包含 「代碼掃描」 任務的模板
- 在已有的流水線中,添加新的階段,并選擇「代碼掃描」任務
編排流水線,添加代碼掃描任務
在流水線編排中,可以通過添加任務,在任務型別分類“代碼掃描”的任務,可以快速的添加代碼掃描任務 ,
3、全量掃描和增量掃描
云效Flow 支持代碼全量掃描和增量掃描,可以根據需要,選擇合適的掃描方式進行使用,
1) 代碼規約全量掃描,通過飛流的掃描任務對指定的代碼工程進行編碼規約全量檢測,
優點: 支持跨檔案參考, 代碼掃描全面,
缺點: 但掃描速度較慢,問題量會比較多,難以修復
2) 代碼規約增量掃描,是基于 Gitlab 的一次 push ,自動獲取 diff 內容,對 diff 檔案用編碼規約規則進行掃描,并過濾出此次提交產生 diff 規約問題功能,
優點: 只掃描 diff 檔案,掃描速度很快,增量問題直接關聯到人,能有效防止代碼提交引進新問題數,
缺點: 因只掃描 diff 檔案,不能發現跨檔案參考出現的規約問題,
4、P3C代碼掃描
Java 規約掃描是阿里巴巴多年經驗提煉的 Java規范- 包含7大類 Java 代碼規則
- 命名規約
- 注釋規范
- 集合
- OOP 規約
- 并發處理
- 控制陳述句
- 其他,如果未做掃描配置,默認會對所有規則進行掃描,也可以在規約掃描組件配置,
指定或排除目錄掃描
配置目錄掃描:
1)在流水線編輯狀態,點擊相應的規約掃描卡片,
2)在展開的卡片抽屜上,點擊任務串列 - 如圖中:Java 代碼掃描
3)子目錄:配置掃描的相應目錄;排除子目錄:配置排除在掃描范圍內的相應目錄,
5、使用自定義代碼掃描規則
目前云效Flow 已經內置了支持 Java,JavaScript,Python,Go,TypeScript,PHP 等語言的代碼質量掃描能力,并提供了默認的代碼掃描規則,對于需要對掃描規則進行調整的用戶可以使用自定義代碼掃描規則,
ps:更多規則請參考ESLint官方檔案
目前支持自定義代碼掃描規則如下:
1)、ESLint自定義規則
添加代碼掃描任務
添加流水線任務并選擇JavaScript代碼掃描,如下所示:
使用自定義規則
默認情況下Flow使用內置的eslint檢查規則,如果需要使用自定義規則,需要在任務配置中勾選“使用本地ESLint配置”,勾選后需要確保專案根路徑下包含.eslintrc.*檔案即可,
2)、TypeScript自定義規則
添加TS代碼掃描任務
添加任務并選擇TypeScript代碼掃描任務,如下所示:
使用自定義規則
默認情況下,Flow會使用TS Lint默認的代碼掃描規則,為了使用自定義的代碼掃描規則用戶需要在專案根路徑下提供tslint.json檔案,
初次使用可以使用如下命令生成該檔案:
tslint --init
保存并運行流水線,TSLint任務會自動檢查代碼專案根路徑下是否包含該檔案,如果包含則使用用戶定義的tslint.json檔案,
3)、Java P3C自定義規則
自定義規則集
用戶可以從Github獲取默認的規則集合檔案,并提交到代碼倉庫中,添加 Java 代碼掃描如下所示:
在任務配置中,勾選“使用自定義規則目錄”選項,并制定自定義規則檔案所在目錄,如下圖所示:
保存并運行流水線即可使用代碼庫中定義的自定義規則集,
二、單元測驗
云效Flow 為主流語言提供了開箱即用的單元測驗能力,可以方便的對代碼進行單元檢測, 支持語言 目前飛流支持單元測驗的語言如下表所示:- Java Maven
- Java Gradle
- Nodejs
- Python
- PHP Codeception
- PHP Unittest
- Golang
編輯流水線時,通過任務模版創建單元測驗任務
在流水線編排中,可以通過添加任務,選擇分類在“測驗”下的任務,對應使用的語言來創建單元測驗,
三、質量紅線
質量紅線是云效Flow 流水線提供的質量卡點能力, 用于標準化質量標準,當階段中存在質量項尚未達標的情況下,阻止發布流程進入到下一階段(環節),
配置質量紅線
質量紅線當前支持在測驗相關的任務中進行設定,包含:
- 代碼掃描能力
- 單元測驗
- Blocker的問題為0
- Major的問題為0
- Critial的問題為0
質量紅線生效
在流水線運行狀態, 會根據對應的質量紅線對測驗任務進行判斷,是否能夠通過紅線,如果未通過紅線,對應的任務將失敗,
質量紅線跳過
考慮在一些特殊的情況下,未通過質量紅線的流程也需要繼續往下執行,飛流也提供了“跳過”的能力,可以由管理員將紅線跳過,
云效流水線 Flow 流水線是持續交付的載體,云效Flow做質量檢測,能夠保障高質量的交付速度,為你和團隊提供代碼掃描、 安全掃描和各種自動化測驗能力,支持人工測驗卡點、自動化驗證卡點等多種質量紅線,確保業務質量,通過持續向團隊提供及時反饋,讓交付程序高效順暢,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/308425.html
標籤:其他
