Atomist宣佈釋出軟體交付機器(Software Delivery Machine,SDM)框架1.0,讓開發者使用工程化的交付方法,提高組織整體一致性。

Atomist遵循軟體定義交付的原則,使用開發應用程式的工具和方法,解決軟體交付的挑戰。Atomist提到,交付的程序應該以版本化和經測試的程式碼實作,而非大量的殼層腳本和數百行複製貼上的YAML定義。Atomist SDM主打使用者可以像軟體開發者一樣,自動執行部分日常的重複性工作,像是讓原始碼應用一致的格式、管理變更日誌,以及在產品臭蟲修復時將待處理問題上標記,在審核時自動合併PR並成功建置,也能更新企業中每個儲存庫中的授權許可檔案。

SDM讓使用者以撰寫應用程式相同的工具和方法撰寫交付流程,例如執行建置和整合測試或是管理部署和回退等任務。SDM提供工程化的交付方法,讓整個組織都使用相同的交付流程,提高整體一致性水準,還可以透過將部署相關活動納入聊天中,與組織分享整個交付程序的資訊。SDM加入Atomist服務,提供可程式化的交付工作流程,還可以與現有Git服務和持續整合工具的原生ChatOps搭配使用。

由於SDM是一個開放且可擴展的框架,可以讓使用者自定義開箱即用的動作,而這種可擴展性,能讓開發者編寫自己的目標實作,並與Autofix、Build或KubernetesDeploy等標準目標實作一同運作,這些自定義目標可以將企業會用到的任何工具或是API,整合到交付流程中。

而且由於使用程式碼定義交付,因此可以讓使用者在開發期間,使用IDE進行單元測試和偵錯,而這能直接消除更新持續整合設定的大量猜測工作,不需要等到推送到持續整合伺服器,才能知道執行結果。SDM也為使用者提供一致的審計追蹤,掌握包括軟體轉移到生產環境的狀況,或是組織中觸發特定操作的成員,追蹤所有使用系統的流程,進行跨問題追蹤、SCM、持續整合和部署工具。 SDM具有事件驅動特性,能將審計資訊建構在框架中,報告工具可透過GraphQL抓取訊息。

Atomist提到,用高階的框架來實現軟體交付的優點之一,便是SDM框架能夠抽象底層Runtime環境,同時又透明地最佳化目標執行以及Runtime支援的內容。當使用者在本機模式使用SDM或是開發SDM時,系統會限制資源消耗,並且在同一程序下執行目標。一旦當SDM被部署到Kubernetes叢集時,在不需要更改程式碼的情況下,SDM便會自動使用Kubernetes高階調度功能,切分目標到各自的Kubernetes中執行。

SDM也遵循軟體定義交付的可觀察原則,使用者能整合StatsD和Prometheus等常用監控工具,揭露公開執行時間和計數、故障率、堆疊和GC統計等相關資訊。Atomist不只開源SDM,其他相關的專案也一併開源。

熱門新聞

Advertisement