Jenkins學習總結(5)——免費DevOps開源工具簡介

一:開發工具 1.版本控制系統 Git Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到很是大的項目版本管理。 2.代碼託管平臺 GitLab GitLab是一個利用Ruby on Rails開發的開源應用程序,實現一個自託管的Git項目倉庫,可經過Web界面進行訪問公開的或者私人項目。 3.代碼評審工具 Gerrit Gerrit是一個免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,能夠相互審閱彼此修改後的程序代碼,決定是否可以提交,退回或者繼續修改。它使用Git做爲底層版本控制系統。 二:自動化構建和測試 1.Apache Ant Apache Ant是一個將軟件編譯、測試、部署等步驟聯繫在一塊兒加以自動化的一個工具,大多用於Java環境中的軟件開發。 2.Maven Maven 除了以程序構建能力爲特點以外,還提供 Ant 所缺乏的高級項目管理工具。因爲 Maven 的缺省構建規則有較高的可重用性,因此經常用兩三行 Maven 構建腳本就能夠構建簡單的項目,而使用 Ant 則須要十幾行。事實上,因爲 Maven 的面向項目的方法,許多 Apache Jakarta 項目如今使用 Maven,並且公司項目採用 Maven 的比例在持續增加。 3.Selenium (SeleniumHQ) ThoughtWorks公司的一個集成測試的強大工具。 三:持續集成&交付 1.Jenkins Jenkins 的前身是 Hudson,它是一個可擴展的持續集成引擎。 2.Capistrano Capistrano 是一個用來並行的在多臺機器上執行相同命令的工具,使用用來安裝一整批機器。它最初是被開發用來發布 Rails 應用的。 四:部署工具 (一)容器平臺 1.Docker Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。 2.Ubuntu(LXC) LXD 是 ubuntu 基於 LXC 技術的重構,容器自然支持非特權和分佈式。LXD 與 Docker 的思路不一樣,Docker 是 PAAS,LXD 是 IAAS。LXC 項目由一個 Linux 內核補丁和一些 userspace 工具組成。這些 userspace 工具使用由補丁增長的內核新特性,提供一套簡化的工具來維護容器。 (二)配置管理 1.Chef Chef 是一個系統集成框架,爲整個架構提供配置管理功能。 2.Puppet Puppet,您能夠集中管理每個重要方面,您的系統使用的是跨平臺的規範語言,管理全部的單獨的元素一般彙集在不一樣的文件,如用戶, CRON做業,和主機一塊兒顯然離散元素,如包裝,服務和文件。 3.CFengine Cfengine(配置引擎)是一種 Unix 管理工具,其目的是使簡單的管理的任務自動化,使困難的任務變得較容易。Cfengine 適用於管理各類環境,從一臺主機到上萬臺主機的機羣都可使用。 (三)微服務平臺 1.OpenShift OpenShift 是由紅帽推出的一款面向開源開發人員開放的平臺即服務(PaaS)。 OpenShift經過爲開發人員提供在語言、框架和雲上的更多的選擇,使開發人員能夠構建、測試、運行和管理他們的應用。 2.Cloud Foundry Cloud Foundry 是VMware於2011年4月12日推出的業界第一個開源PaaS雲平臺,它支持多種框架、語言、運行時環境、雲平臺及應用服務,使開發人員可以在幾秒鐘內進行應用程序的部署和擴展,無需擔憂任何基礎架構的問題。 (四)服務開通 1.Puppet Puppet,您能夠集中管理每個重要方面,您的系統使用的是跨平臺的規範語言,管理全部的單獨的元素一般彙集在不一樣的文件,如用戶, CRON做業,和主機一塊兒顯然離散元素,如包裝,服務和文件。 2.Docker Swarm Docker Swarm 是一個Dockerized化的分佈式應用程序的本地集羣,它是在Machine所提供的功能的基礎上優化主機資源的利用率和容錯服務。具體來講,Docker Swarm支持用戶建立可運行Docker Daemon的主機資源池,而後在資源池中運行Docker容器。Docker Swarm能夠管理工做負載並維護集羣狀態。 五:維護 日誌記錄 1.Logstash Logstash 是一個應用程序日誌、事件的傳輸、處理、管理和搜索的平臺。你能夠用它來統一對應用程序日誌進行收集管理,提供 Web 接口用於查詢和統計。 2.CollectD collectd 是一個守護(daemon)進程,用來收集系統性能和提供各類存儲方式來存儲不一樣值的機制。好比以RRD 文件形式。 六:監控、警告&分析 1.Nagios Nagios 是一個監視系統運行狀態和網絡信息的監視系統。Nagios能監視所指定的本地或遠程主機以及服務,同時提供異常通知功能等。 2.Ganglia Ganglia 是一個跨平臺可擴展的,高性能計算系統下的分佈式監控系統,如集羣和網格。它是基於分層設計,它使用普遍的技術,如XML數據表明,便攜數據傳輸,RRDtool用於數據存儲和可視化。
相關文章
相關標籤/搜索