1. 程式人生 > >Docker與CI持續整合/CD

Docker與CI持續整合/CD

背景

       Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。

      持續整合(Continuous integration)是一種軟體開發實踐,即團隊開發成員經常整合它們的工作,通過每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,釋出,自動化測試)來驗證,從而儘早地發現整合錯誤。

       持續部署(continuous deployment)是通過自動化的構建、測試和部署迴圈來快速交付高質量的產品。某種程度上代表了一個開發團隊工程化的程度,畢竟快速運轉的網際網路公司人力成本會高於機器,投資機器優化開發流程化相對也提高了人的效率,讓 engineering productivity 最大化。

       OpenShift是紅帽的雲開發平臺即服務(PaaS)。自由和開放原始碼的雲端計算平臺使開發人員能夠建立、測試和執行他們的應用程式,並且可以把它們部署到雲中。Openshift廣泛支援多種程式語言和框架,如Java,Ruby和PHP等。另外它還提供了多種整合開發工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基於一個開源生態系統為移動應用,資料庫服務等,提供支援。

       Cloud Foundry是VMware推出的業界第一個開源PaaS雲平臺,它支援多種框架、語言、執行時環境、雲平臺及應用服務,使開發人員能夠在幾秒鐘內進行應用程式的部署和擴充套件,無需擔心任何基礎架構的問題。同時,它本身是一個基於Ruby on Rails的由多個相對獨立的子系統通過訊息機制組成的分散式系統,使平臺在各層級都可水平擴充套件,既能在大型資料中心裡執行,也能執行在一臺桌面電腦中,二者使用相同的程式碼庫。

       Heroku作為最開始的雲平臺之一,從2007年6月起開發,當時它僅支援Ruby,但後來增加了對Java、Node.js、Scala、Clojure、Python以及(未記錄在正式檔案上)PHP和Perl的支援。基礎作業系統是Debian,在最新的堆疊則是基於Debian的Ubuntu。

       Ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。

       Cloudify 是一個雲應用的編排系統,可讓你的應用自動化的在各種不同的雲上方便的部署。

正題


image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如有想了解更多軟體研發 , 系統 IT整合 , 企業資訊化,專案管理,企業管理 等資訊,請關注我的微信訂閱號:

MegadotnetMicroMsg_thumb1_thumb1_thu[1]


作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
該文章也同時釋出在我的獨立部落格中-Petter Liu Blog