軟件的持續自動化部署解決方案 - Dreadnot
Rackspace公司近日
開源了他們的一個用于軟件部署的解決方案——Dreadnot,該方案可以實現軟件的自動化以及多區域部署功能,項目代碼已托管于
GitHub。
據Rackspace介紹,Dreadnot是個由Node.js編寫的“一鍵”部署工具,它受
Etsy的Deployinator的靈感啟發,基于Web框架
Express和
推ter的Bootstrap JS與CSS工具構建。
Dreadnot的目標是幫助實現“持續部署”。Rackspace的工程師Paul Querna寫到:
對敏捷開發和DevOps而言,持續部署理念極為重要。它使得開發團隊能夠更加快速引入新特性,修復bug,減少管理多個版本及開發分支的復雜性與差異性。
對Rackspace來說,他們最初使用的是Deployinator工具,不過之后他們認為Deployinator并不能完全滿足需 求:“Deployinator是設計用于單區域部署,走了一些捷徑,但基本思路還是正確的。我們在Rackspace內部的諸多產品中對 Deployinator進行了研究,每個團隊都面臨著對Deloyinator進行定制以便能夠適應我們的模型的問題。”鑒于上述原 因,Rackspace開發出了Dreadnot。
Rackspace表示,Dreadnot的設計旨在幫助實現多區域部署,這通過對部署過程實現高度自動化以及跨區域的冗余來實現。此外它提供了 一個控制機制以及易于訪問的視圖用于部署過程中。如果期間中出現任何失敗,Dreadnot將暫停其操作,并等待開發人員解決。對于復雜或是出現致命錯誤 (fetal error)的部署,開發人員也可以在不受Dreadnot干擾的情況下手動完成。