分布式工作執行指南
本指南中的插圖是由 Nrwlian Nicole Oliver 所製作
什麼是工作?
從 Lerna 的角度來看,工作是在專案上執行的目標。也就是說,在專案 shared-product-ui
上執行的目標 test
是項工作。如需工作相關的更多資訊,請參閱 執行工作 一文。
Nx Cloud 會自動排程您的 CI 工作
想像一下,對於 CI 中的每個公關,您都希望對所有受影響的專案執行一次 linting 檢查、測試和建置。當您撰寫 CI 工作流程時,您並不知道每個公關將受到多少專案的影響,也不知道每項工作將花費多少時間。無論您將事情設定得有多仔細,如果您手動指定一組靜態的代理機器來執行 linting 檢查、測試和建置,將會浪費時間。這種方法稱為 binning。
很幸運的是,透過分布式工作執行,Nx Cloud 能夠在代理機器可用時動態地將工作分配給它們。
Nx Cloud 能有效地編排代理機器
當您設定 DTE 時,您定義 (1) 您要執行的任務和 (2) Nx Cloud 可使用的代理數量。然後,Nx Cloud 編排器會有效率地將任務分配給代理,以充分利用所有代理,並盡快完成 CI 程序。
任務執行順序很重要
有些任務需要在其他任務之前執行,但 Nx Cloud 在將任務分配給代理時會考慮到這一點。若要更詳細地了解定義這些依賴項,請閱讀執行任務文章。
為何要分配任務?
有效地跨多個代理並列執行您的 CI 程序,可以大幅加快 CI 速度,這有助於開發人員更快地找出問題並完成更多工作。
費用是多少?
Nx Cloud 對開源專案免費。連絡 cloud-support@nrwl.io 以進行設定。
對於封閉原始碼專案,每月前 500 小時的運算時數是免費的。大多數工作區都不會超過這個數量。不需要信用卡。超過 500 小時後,每小時運算時數費用為 1 美元。
有關更多詳細資訊,請參閱 Nx Cloud 價格頁面。
安全性
您的實際程式碼並未儲存在雲端,而是儲存您的任務的雜湊輸入和快取結果。可以啟用這些資料的端對端加密,讓沒有您的金鑰就無法查看這些資訊。此外,如果您想在自己的伺服器上架設 Nx Cloud,您可以註冊 Nx 私有雲端。
範例
這是一個範例存放庫,展示輕鬆設定分散式任務執行、顯示效能提升以及與分片/分組進行比較。
插圖
這是 Nicole Oliver 所做的完整插圖說明頁面