天天看點

生活不止有苟且,還有N個免費DevOps開源工具

你喜歡免費的東西嗎?獲得開發者社群支援的自動化,開源的工具是大家夢寐以求的。這裡列舉了 n多款最棒的開源工具,可以幫助你很好的實行 devops。對的,生活不止有眼前的苟且,還有詩和遠方的田野,當然,還有免費的devops開源工具。

生活不止有苟且,還有N個免費DevOps開源工具

标題一:開發工具

1.版本控制系統 git

git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。

2.代碼托管平台 gitlab

gitlab是一個利用ruby on rails開發的開源應用程式,實作一個自托管的git項目倉庫,可通過web界面進行通路公開的或者私人項目。

3.代碼評審工具 gerrit

gerrit是一個免費、開放源代碼的代碼審查軟體,使用網頁界面。利用網頁浏覽器,同一個團隊的軟體程式員,可以互相審閱彼此修改後的程式代碼,決定是否能夠送出,退回或者繼續修改。它使用git作為底層版本控制系統。

生活不止有苟且,還有N個免費DevOps開源工具

二:自動化建構和測試

1.apache ant

apache ant是一個将軟體編譯、測試、部署等步驟聯系在一起加以自動化的一個工具,大多用于java環境中的軟體開發。

2.maven

maven 除了以程式建構能力為特色之外,還提供 ant 所缺少的進階項目管理工具。由于 maven 的預設建構規則有較高的可重用性,是以常常用兩三行 maven 建構腳本就可以建構簡單的項目,而使用 ant 則需要十幾行。事實上,由于 maven 的面向項目的方法,許多 apache jakarta 項目現在使用 maven,而且公司項目采用 maven 的比例在持續增長。

3.selenium (seleniumhq)

thoughtworks公司的一個內建測試的強大工具。

生活不止有苟且,還有N個免費DevOps開源工具

三:持續內建&傳遞

1.jenkins

jenkins 的前身是 hudson,它是一個可擴充的持續內建引擎。

2.capistrano

capistrano 是一個用來并行的在多台機器上執行相同指令的工具,使用用來安裝一整批機器。它最初是被開發用來釋出 rails 應用的。

四:部署工具

(一)容器平台

1.docker

生活不止有苟且,還有N個免費DevOps開源工具

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

生活不止有苟且,還有N個免費DevOps開源工具

cloud foundry 是vmware于2011年4月12日推出的業界第一個開源paas雲平台,它支援多種架構、語言、運作時環境、雲平台及應用服務,使開發人員能夠在幾秒鐘内進行應用程式的部署和擴充,無需擔心任何基礎架構的問題。

(四)服務開通

1.puppet

2.docker swarm

docker swarm 是一個dockerized化的分布式應用程式的本地叢集,它是在machine所提供的功能的基礎上優化主機資源的使用率和容錯服務。具體來說,docker swarm支援使用者建立可運作docker daemon的主機資源池,然後在資源池中運作docker容器。docker swarm可以管理工作負載并維護叢集狀态。

五:維護

日志記錄

1.logstash

生活不止有苟且,還有N個免費DevOps開源工具

logstash 是一個應用程式日志、事件的傳輸、處理、管理和搜尋的平台。你可以用它來統一對應用程式日志進行收集管理,提供 web 接口用于查詢和統計。

2.collectd

collectd 是一個守護(daemon)程序,用來收集系統性能和提供各種存儲方式來存儲不同值的機制。比如以rrd 檔案形式。

六:監控、警告&分析

1.nagios

nagios 是一個監視系統運作狀态和網絡資訊的監視系統。nagios能監視所指定的本地或遠端主機以及服務,同時提供異常通知功能等。

2.ganglia

ganglia 是一個跨平台可擴充的,高性能計算系統下的分布式監控系統,如叢集和網格。它是基于分層設計,它使用廣泛的技術,如xml資料代表,便攜資料傳輸,rrdtool用于資料存儲和可視化。

====================================分割線================================