比較
CRACI 與 Azure Pipelines 比較
Azure Pipelines 從 Azure DevOps 進行建置與部署,並按平行作業銷售運算容量。CRACI 是按分鐘計費的 GitHub Actions 執行器,會記錄每一次建置,因此 SBOM、網路政策與來源證明都直接來自建置本身。
更新日期
簡短的答案
Azure Pipelines 是 Azure DevOps 中的 CI/CD 部分。它可在 Linux、Windows 與 macOS 上建置與測試,支援 Azure Repos 與 GitHub,並可部署到虛擬機器、容器、地端與雲端目標。如果您的工作追蹤、儲存庫與版本發布都在 Azure DevOps 中, 或您需要透過單一 Microsoft 合約取得 Windows 與 macOS 建置,它會是很合適的選擇。
CRACI 涵蓋的範圍較窄,但更為深入。它是 GitHub Actions 的執行器:在每個作業執行時, 記錄建置拉進的每個外部相依套件、對建置網路強制執行對外連線政策,並根據這份紀錄產生 SBOM、來源證明資料與漏洞監控。在 Azure Pipelines 中,這些佐證資料則來自您在每條管線中加入的工作與工具。
有一個實務重點需要先說明。CRACI 目前僅支援 GitHub Actions,GitLab CI 與 Jenkins 已列入產品藍圖。 CRACI 不支援 Azure Pipelines,因此管線需移轉為 GitHub Actions 工作流程,才能在 CRACI 上執行。
一覽比較
| 功能 | CRACI | Azure Pipelines |
|---|---|---|
| 產品定位 | GitHub Actions 的安全執行器。 | Azure DevOps 中的 CI/CD 部分。 |
| SBOM 如何產生 | 依據每個作業實際擷取的內容記錄,並標示完整性狀態 | 由您加入管線的工作或工具產生 |
| 建置網路對外連線政策 | 預設拒絕或允許,作業前驗證,失效即封鎖 | 需在自架代理程式上自行建置 |
| 漏洞監控 | 持續重新評估受監控的 SBOM | 由您加入的工作或工具處理 |
| CI 系統 | 目前支援 GitHub Actions;GitLab CI 與 Jenkins 已列入產品藍圖 | Azure Pipelines,可搭配 Azure Repos 與 GitHub |
| 託管機器 | x86-64 與 ARM64 上的 Linux,1 至 32 vCPU。Windows 與 macOS 已列入產品藍圖。 | 每種作業系統只有一種規格:Linux 與 Windows 為 2 核心、7 GB,macOS 為 3 核心、14 GB。 |
| 在您自己的機器上執行 | 客戶自行託管執行器,Enterprise | 自架代理程式,以及 Azure DevOps Server |
| 部署 | CRACI 涵蓋建置階段 | 虛擬機器、容器、地端與雲端目標 |
| 計費方式 | 每分鐘 $0.004(每 vCPU 分鐘 $0.002),按秒計量。無月費,也不按 SBOM 收費。 | 按平行作業計費:一個託管作業每月免費 1,800 分鐘,之後每個託管作業每月 $40、分鐘數不限,自架作業則每個 $15(截至 2026 年 10 月)。 |
- 支援
- 部分支援
- 不支援
- 已列入產品藍圖
Azure Pipelines 的強項
與 Azure DevOps 整合為單一平台。管線與工作追蹤、Azure Repos 及 Azure Artifacts 並存,讓工作項目、程式碼、建置與套件集中在一處。它也能建置託管在 GitHub 上的程式碼。
支援所有作業系統。Microsoft 託管代理程式支援 Linux、Windows 與 macOS,而一個平行作業 以相同價格執行其中任何一種。自架代理程式可延伸到您自己的機器,Azure DevOps Server 則能將整個平台搬到地端。
每個作業的分鐘數不限。付費的平行作業沒有每月分鐘數上限,每次執行最長可達 360 分鐘。讓作業整天忙碌的團隊,不論建置多久,都支付固定價格。
內建部署功能。管線可將建置一路帶到虛擬機器、容器、地端伺服器與雲端目標上的部署。
CRACI 的不同之處
SBOM 來自建置本身
在 Azure Pipelines 中,SBOM 來自您加入的工作或掃描步驟,通常是在事後讀取資訊清單與 lockfile。 然而建置做的事往往比這些檔案寫的更多:安裝腳本會下載程式碼,建置腳本會在建置時擷取內容,快取則會還原任何 lockfile 都未提及的套件。 由於 CRACI 本身就是執行器,它看得到這些流量。具套件感知能力的代理伺服器會記錄每個作業從套件來源擷取的內容,涵蓋 npm、PyPI、RubyGems、Composer、 Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,相依套件的佐證資料也會隨 CI 快取一起傳遞。每份 CycloneDX 或 SPDX SBOM 都會以作業與快取為單位,標示其完整程度。
建置網路上的政策
在 Microsoft 託管代理程式上,建置可以連線到哪裡不由您決定;在自架代理程式上,則需要您自行建置與維護網路設定。 CRACI 為每個作業套用對外連線政策:預設拒絕或預設允許,搭配 24 種內建軟體來源預設與具型別的自訂來源,並在作業開始前驗證。政策採失效即封鎖,違規時會發出警示。
監控已交付的內容
API 會回傳 SBOM、網路追蹤與來源證明。CRACI 彙整各建置與儲存庫的漏洞, 在新資安公告出現時持續重新評估受監控的 SBOM,並顯示哪些過去的建置含有易受攻擊的相依套件,讓您知道受影響的期間。
按分鐘計費,而非按平行作業
Azure Pipelines 銷售的是並行數:每個您想同時執行的建置,都需要一個每月 $40 的託管作業, 規格只有 2 核心、7 GB 一種。若在 22 個工作天中每天忙碌 8 小時, 一個作業約為每分鐘 $0.0038,略低於 CRACI 2 vCPU 的 $0.004。若只有一半時間忙碌,則約為 $0.0076。建置往往集中爆發,因此為最忙碌時段購買的作業,在一天中其餘時間都處於閒置。
CRACI 只對建置分鐘數收費:每 vCPU 分鐘 $0.002(預設 2 vCPU 執行器為 $0.004),按秒計量, 無月費,也不按 SBOM 收費。需要更多運算能力的作業最多可使用 32 vCPU。完整比較請參閱 CI 執行器價格。
哪一個適合您
- 繼續使用 Azure Pipelines:如果您的工作追蹤、儲存庫與版本發布都在 Azure DevOps 中、 您需要 Windows 或 macOS 建置、您從同一批管線進行部署,或您的作業整天都很忙碌。
- 選擇 CRACI:如果您的程式碼在 GitHub 上或正移往 GitHub,且您希望每次建置都產出 版本內容的紀錄,並按建置分鐘數計費。
- 兩者並用:在逐步移轉期間,選擇是以管線為單位,因此 Linux 建置可移至在 CRACI 上執行的 GitHub Actions,而 Windows、macOS 與部署管線則維持不變。
請清楚了解選擇 CRACI 時會放棄什麼。它不負責部署軟體,目前只執行 Linux 作業,Windows 與 macOS 已列入產品藍圖, 而客戶自行託管執行器則已列入 Enterprise 的產品藍圖。
受法規規範的產品
歐盟 Cyber Resilience Act(CRA)等框架要求製造商掌握每個版本包含的內容並處理其漏洞, 通報義務自 2026 年 9 月起適用。在 Azure Pipelines 中,這些佐證資料來自您在每條管線中串接的工作與掃描器。 CRACI 則從建置紀錄產生佐證資料,並將 SBOM 匯出為 CycloneDX 或 SPDX。它能自動化企業在更廣泛的 CRA 流程中所需的 相當大一部分軟體供應鏈可視性與佐證資料;這兩項工具都無法單獨讓產品達到合規。
將管線移至 CRACI
GitHub 官方的 GitHub Actions Importer 可將 Azure DevOps 管線轉換為 GitHub Actions 工作流程。GitHub 的目標是 每個工作流程有 80% 可自動轉換,並表示每個轉換後的工作流程在正式環境執行前都應經過檢查,因此請預留一些手動作業。 管線一旦以 GitHub Actions 工作流程執行,只需一行即可在 CRACI 上執行:
runs-on: craci
執行紀錄仍會顯示在 GitHub 介面中。進一步了解建置時 SBOM 產生,查看 Azure Pipelines 替代方案,比較 CI/CD 平台,或查看價格方案。
執行一次真實建置並比較
將一條管線移至在 CRACI 上執行的 GitHub Actions 工作流程,再把它的 SBOM 與網路追蹤,和 Azure Pipelines 目前提供的資訊並列比較。
預約示範