本文主要介紹了在云效平臺上通過八個步驟規范管理企業的代碼資產。包括設置代碼倉庫模板、啟動代碼檢測、配置保護分支與合并檢查點、設置代碼倉庫規范、實現研發工作及需求的自動化消息通知功能,以及如何進行代碼的數據度量。
方案概覽
推薦閱讀對象:企業技術管理者、CTO、開發者
步驟一:導入倉庫
云效提供多種代碼資產導入的方案:
本文以網頁端導入三方代碼庫為例進行體驗。首先,導入一個公開的示例代碼庫,案例源代碼庫地址為:detect-repo。訪問該示例庫地址,選擇 HTTPS 克隆,復制克隆地址。
訪問云效 Codeup ,單擊 ,在源代碼庫地址欄中填入剛才復制的克隆地址。由于是公開庫無須鑒權,僅填寫URL克隆地址即可,不需要填寫賬號/Token等信息。
步驟二:體驗代碼庫模板
1. 設置模板庫
導入完成后,進入該庫,打開
,開啟設為模板庫:該庫即成為當前企業下的模板庫,對該庫有讀權限的人可使用該模板庫新建倉庫。
2. 使用模板庫
單擊
,即可使用上一步設置的模板庫作為新建的模板,單擊確定后完成新庫創建。步驟三:啟用代碼檢測
1. 準備檢測方案
從首頁菜單進入具體的代碼庫選擇
,檢測方案選擇Java推薦檢測方案,如沒有已有方案,可新建一個方案,然后選擇Java推薦檢測方案。云效也支持其他語言的檢測規則包,實際使用時可按需選擇。觸發方式也提供兩種觸發方式,分別是提交觸發、合并請求觸發,勾選閱讀并同意檢測服務協議,單擊新建并執行,即可創建完成并執行檢測任務。單擊
,便可看到敏感信息檢測、Java開發規范檢測的卡片單擊可查看具體檢測規則內容。2. 查看檢測任務
此時將針對默認分支進行一次指定方案下的代碼掃描。檢測完成后可以單擊相應的檢測任務查看檢測結果。
單擊問題列表可查看問題詳情。
步驟四:設置保護分支與合并卡點
進入
,單擊新建保護分支規則。設置master為保護分支,允許推送勾選無,則不允許任何人直接推送保護分支,且合并規則只有管理者可以合并評審。
開啟要求合并前通過代碼評審,將代碼評審作為必須通過的卡點;開啟要求合并前通過自動化狀態檢查,勾選上一步創建的代碼檢測任務作為必須運行通過的卡點,卡點信息配置完成。
步驟五:設置倉庫規范
倉庫規范屬于高級版功能,新用戶可免費試用1個月,如遇以下頁面,單擊免費試用即可試用。
進入
,單擊啟用倉庫規范。建議選擇系統方案進行體驗,也可以自定義方案。以下用功能分支規范為例。
確定后可見當前系統方案已生效,包括分支規范和合并方向規范:
分支規范限制了分支創建時的命名要求,避免不合規的分支創建,造成倉庫中分支泛濫的問題。
合并方向規范限制了源分支和目標分支的選擇,避免不符合企業要求的合并被創建。
針對歷史中命名不合規的分支,將在分支列表中進行提示。
步驟六:創建合并請求
基于該庫的原 master 分支創建一個命名合規的 feature/A 分支。
切換到新建的分支 feature/A,嘗試新建文件。
輸入內容后進行提交。
切換至合并請求菜單,單擊新建合并請求,選擇 feature/A 合并至 master,該分支名和合并方向都是符合倉庫規范的,因此可以完成合并。
可見合并請求中有之前設置的保護分支卡點,包括評審人數、評論數、自動化檢查的卡點。
需要依次解決這些卡點才能夠完成合并操作。
步驟七:代碼相關的自動化規則設置
您可能常常遇到以下情況:
代碼已經在開發中了,卻忘了從待開發改成開發中。
代碼已經發布上線了,卻忘了更改狀態為已發布。
通過云效自動化規則,可以實現代碼變更后的需求任務狀態自動化更新。自動化規則配置,請參見自動化規則。
場景一:當任務關聯的代碼庫發生提交時,系統自動變更任務狀態為開發中
分支關聯任務ID。
開發人員在特性分支上提交代碼時,可以關聯任務。包括支持直接頁面選擇關聯項目中已有任務,或通過在提交信息中通過#ID的方式進行關聯。
查看關聯情況。
提交之后,切換至云效的項目協作頁面,打開對應任務詳情,選擇
,關聯項中即可看到此次的代碼提交已經完成了關聯。設置自動化規則。
進入到項目空間,點擊左下角“設置”按鈕,自動化規則。
,如何配置,請參見規則內容:當任務關聯代碼提交時,該任務可以自動由「待處理」狀態流轉為「處理中」狀態。
場景二:當任務下面關聯合并請求時,系統自動變更任務狀態為待評審
創建分支合并關聯任務。
創建分支合并關聯開發人員開發完成特性分支后,會將特性分支合入測試分支上,需要進行合并評審。創建分支合并時,可以直接去關聯項目中已有任務。
查看關聯情況提交之后,可以在項目中該任務的其他-代碼關聯項中看到此次的代碼合并請求。
設置自動化規則。
進入到項目空間,單擊左下角設置按鈕,選擇
。如設置規則內容:當任務關聯合并請求時,該任務可以自動由開發中狀態流轉為待評審狀態,并發送站內信&釘釘消息等給負責人。規則內容:當任務關聯合并請求為已通過時,該任務可以自動由待評審狀態流轉為已評審狀態:
規則內容:當任務關聯合并請求為已合并時,該特性分支已合并至測試分支后,交由測試進行集成測試,該任務可以自動由已評審狀態流轉為待測試狀態。
說明當任務關聯合并請求為已合并時,系統自動變更任務狀態為待測試。同時將該任務負責人變更為測試人員,并發送站內信&釘釘消息進行提醒。
步驟八:代碼度量
云效效能洞察Insight提供了代碼資產度量,打開效能洞察Insight,找到“常用報表”,選擇“代碼度量報表”,提供以下代碼常用度量方式,您也可以在右上角選擇指標卡片,選擇您所需要的指標進行代碼度量。
度量方式 | 度量說明 |
代碼庫概覽 | 當前時刻已選擇的代碼庫的代碼行總量和安全問題總數。 |
代碼變更概覽 | 所選時間段內,所選數據源范圍內(如代碼庫或分支等)的新增/刪除代碼行數、代碼提交次數以及每次提交所包含的平均代碼行數。 |
代碼變更行按人員排序 | 所選時間段內,各成員提交代碼行數的 Top5 數值。 |
代碼提交按提交人排序 | 所選時間段內,各成員提交代碼次數的 Top 5 數值。 |
代碼提交時段分布 | 所選時間區間內,每日各時段的代碼提交次數分布,顏色越深表示在該區間的提交次數越多。 |