如何將Klocwork與Incredibuild一起使用來提高DevOps生產效率

創提科技
2022/03/07

分享到

DevOps組織不斷地尋找方法來提高DevOps的生產效率,加快其上市時間。如果沒有合適的集成工具,這將相當具有挑戰性。

 
本文將包含如下幾個部分:
 
    • 為什麼加速DevOps是一個主要挑戰
 
    • Incredibuild是什麼?
 
    • Klocwork是什麼?
 
    • 為什麼Incredibuild用戶應該使用Klocwork
 

    • 為什麼Klocwork用戶應該使用Incredibuild
 
    • 為什麼您應該使用Incredibuild和Klocwork
 
    • 使用Incredibuild和Klocwork的益處
 
    • 如何將Klocwork與Incredibuild一起使用


為什麼加速DevOps是一個主要挑戰
 
加速DevOps是一個主要挑戰,因為您必須在開發早期找到編碼缺陷,確保其安全性、合規性,以免修復變得太困難且太昂貴。由於在集成和上線前的階段,回饋往往會被延遲,因此這種挑戰的難度通常會被放大。
 
DevOps加速過程中最常見的挑戰包括:
 
    • 快速發現並儘早修復程式碼錯誤。 
    • 滿足程式碼安全性與合規性需求(DevSecOps)。 
    • 建立跨團隊協作和報告機制(問題的可見性)。 
    • 集成程式碼品質和構建工具。 
    • 提高識別大型程式碼庫中存在的問題的速度和準確性。


如何使用合適的工具加速DevOps
 
通過將開發週期加速工具與靜態程式碼分析解決方案相集成,您可以更快地將產品推向市場。


Incredibuild是什麼?
 
Incredibuild是一個開發週期加速工具,主要用於説明您加速計算密集型任務。通過在本地網路或雲的空閒CPU之間無縫併發地分配流程,Incredibuild能夠從根本上縮短幾乎任何工作負載的計算時間。這對於編譯原始程式碼和構建軟體特別有益,因為任務可以通過網路分配到多台電腦上。


Klocwork是什麼?
 
Klocwork是適用於C,C++, C#,Java,JavaScript和Python語言的最可信的靜態程式碼分析和應用安全靜態測試(SAST)工具之一。Klocwork是專為企業的DevOps和DevSecOps而設計的,可以擴展到任何規模的專案,並與大型複雜環境和各種開發工具相集成。此外,Klocwork還具有差異分析功能(Differential Analysis),要想在保持高開發速度的同時確保在安全和品質上的持續合規,Klocwork便是首選的解決方案。
 
而且,Klocwork的獨特之處在於,它可以處理龐大的程式碼庫——例如,Android AOSP和Unreal Engine。這意味著當同時使用Klocwork和Incredibuild時,可以顯著地減少構建時間。
 

為什麼Incredibuild用戶應該使用Klocwork
 
Incredibuild加速了計算密集型的工作負載。通過將其與Klocwork相結合,Incredibuild讓您能夠快速分析整個程式碼庫,從而在開發早期識別編碼漏洞和錯誤,並確保編碼標準得到實施。
 

Klocwork通過以下功能實現對Incredibuild的補充:
 
差異分析
 
通過使用來自伺服器的系統上下文資料,Klocwork能夠只分析已更改的檔,同時提供差異分析結果,就像對整個系統進行了分析一樣。這盡可能地縮短了您分析新程式碼和已更改程式碼的時間。
 
集成分析
 
Klocwork使用來自伺服器的系統上下文資料,對您軟體專案當前的總體健康狀況進行了快照。在每次集成分析之後,Klocwork會提供一個列表(列出檢測到的編碼問題),以及關於程式碼的其他報告。通過定期運行集成分析,您能夠提高程式碼的品質,確保軟體安全標準得到適當地執行,並確保程式碼庫的一致性。


為什麼Klocwork用戶應該使用Incredibuild
 
Klocwork有助於確保您的程式碼是否安全、可靠和相容。通過將其與Incredibuild相結合,Klocwork用戶可以在很短的時間內分析大量的程式碼庫,從而加快構建流程。

Incredibuild通過以下功能實現對Klocwork的補充:
 
虛擬化分散式處理
 
當執行多個併發流程的工作負載時,Incredibuild會自動、動態地將這些流程分配到網路或雲中的遠端機器內的空閒CPU上。


為什麼您應該使用Incredibuild和Klocwork
 
通過將Incredibuild和Klocwork相結合,您將可以很輕鬆地應對DevOps和DevSecOps的挑戰。這兩個解決方案可以無縫地集成到您的軟體發展生命週期(SDLC)工具鏈中,以對任何規模的程式碼庫提供可操作的回饋,並確保高開發速度。
 
有了Incredibuild和Klocwork,您的團隊將能夠運行一次超快的靜態程式碼分析掃描,並在幾分鐘內獲得一個完整的報告,其中涵蓋了所有關鍵的安全標準,包括MISRA, AUTOSAR, CERT和OWASP。
 
此外,如果您的團隊正在與漫長的構建週期和延遲的回饋作鬥爭,您可以使用Incredibuild根據需要在任意數量的機器上利用成千上萬的核心計算能力。這使您能夠將構建流程從幾天縮短到幾小時甚至幾分鐘。而且,如果您的本地網路連接的機器缺乏足夠的能力,那麼Incredibuild還可以用來協調基於雲的機器實例網格,從而更快地執行分析任務。
 

如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-1.jpg


使用Incredibuild和Klocwork的益處
 
您可以從使用能夠提高DevOps生產效率的工具中受益,同時還能提高軟體交付的品質。例如,在Incredibuild的幫助下,您可以充分利用現有的硬體資源。除了IT獲得的成本效率外,您還將從縮短的超長開發和構建週期中受益。僅僅這兩個益處就可以幫您縮短超長的週期,這意味著能夠更快地為您的客戶部署新功能和價值。
 
通過將Klocwork與Incredibuild相結合,您能夠利用Incredibuild的強大計算能力,以及它的分散式編排、雲擴展和CI/CD集成能力——這與Klocwork的核心功能完美互補。
 
有了Klocwork和Incredibuild,您可以滿懷信心地將產品加快推向市場。
 
例如,下面的截圖展示了您的團隊如何從使用Incredibuild和Klocwork中獲益。在這個例子中,Klocwork疊加了Incredibuild的功能:利用15個多核CPU,在不到4分鐘的時間內對一個大型程式碼庫進行一次完整的掃描。


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-2.jpg

如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-3.jpg


如何將Klocwork與Incredibuild一起使用
 
下面是如何使用Incredibuild和Klocwork
 
    1. 安裝Incredibuild
 
    • 首先,您需要安裝Incredibuild。 
    • 如果您還沒有使用Incredibuild,您可以開始免費試用。 
    • 如果您已經是Incredibuild的用戶,請下載最新版本。 
   

    2. 安裝Klocwork
 
    • 接下來,您將下載Klocwork。 
    • 如果您還沒有使用Klocwork,您可以開始免費試用。 
    • 如果您已經是Klocwork的用戶,請下載最新版本。 
    • 一旦安裝了Klocwork,您將需要Klocwork中的“訪問Web API”許可權。
 
    3. 使用Incredibuild生成一個構建跟蹤檔
 
    • 每次執行Incredibuild加速構建時,都會在incrediBuild-install-path/temp資料夾中生成一個有效的JSON構建跟蹤檔。該檔將使用以下命名慣例進行命名:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-4.jpg


    • 其中,SolutionName是解決方案的名稱,TimeStamp是定義檔創建時間的值。
 
    • 關於kwinject的跟蹤檔案格式的資訊,請參閱構建跟蹤檔案格式,以瞭解如何生成構建規範的詳細資訊。
 
    • 此外,您可以通過在BuildConsole命令列中添加/ca_fie=file-path,來指定您自訂的檔案名和路徑。例如,/ca_file=”C:\MyFile.JSSon”。
 
    4. 分配分析
 
    • Incredibuild概要檔與Klocwork伺服器包一起安裝在:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-5.jpg

 
    • 通過Incredibuild概要檔,間接地運行集成構建分析工具kwbuildproject。包括所有您需要的kwbuildproject選項:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-6.jpg

 
    • 其中N是用於集成構建分析的平行線程數。這個數字必須與將使用的Incredibuild核心的數量相匹配。
 
如果您遇到問題,請嘗試執行以下步驟:
 
    1. 在“Agent Settings”對話方塊中,在“Agent|General”頁面,將日誌級別設置為“Extended”,並啟用為本地執行的任務生成詳細日誌。 
    2. 運行構建。 
    3. 按兩下Incredibuild託盤圖示,然後在Build Monitor螢幕上,點擊“File -> Save Monitor file As…”保存執行監視器進度檔(.ib_mon文件)。 
    4. 將日誌級別恢復到“Minimal”。
 
關於如何使用Incredibuild和Klocwork的更多詳情可以聯繫我們獲取支持