0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

60多款最棒的開源工具,可以幫助你很好的實行DevOps

馬哥Linux運維 ? 來源:lq ? 2019-02-15 14:16 ? 次閱讀

你喜歡免費的東西嗎?獲得開發(fā)者社區(qū)支持的自動化,開源的工具是大家夢寐以求的。這里列舉了 60 多款最棒的開源工具,可以幫助你很好的實行 DevOps。

一、開發(fā)工具

版本控制&協(xié)作開發(fā)

1.版本控制系統(tǒng) Git

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

2.代碼托管平臺 GitLab

GitLab是一個利用Ruby on Rails開發(fā)的開源應用程序,實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。

3.代碼評審工具 Gerrit

Gerrit是一個免費、開放源代碼的代碼審查軟件,使用網(wǎng)頁界面。利用網(wǎng)頁瀏覽器,同一個團隊的軟件程序員,可以相互審閱彼此修改后的程序代碼,決定是否能夠提交,退回或者繼續(xù)修改。它使用Git作為底層版本控制系統(tǒng)。

4.版本控制系統(tǒng) Mercurial

Mercurial是一種輕量級分布式版本控制系統(tǒng),采用 Python 語言實現(xiàn),易于學習和使用,擴展性強。

5.版本控制系統(tǒng) Subversion

Subversion 是一個版本控制系統(tǒng),相對于的RCS、CVS,采用了分支管理系統(tǒng),它的設計目標就是取代CVS?;ヂ?lián)網(wǎng)上免費的版本控制服務多基于Subversion。

6.版本控制系統(tǒng) Bazaar

Bazaar 是一個分布式的版本控制系統(tǒng),它發(fā)布在 GPL 許可協(xié)議之下,并可用于 Windows、GNU/Linux、Unix 以及 Mac OS 系統(tǒng)。

二、自動化構建和測試

1.Apache Ant

Apache Ant是一個將軟件編譯、測試、部署等步驟聯(lián)系在一起加以自動化的一個工具,大多用于Java環(huán)境中的軟件開發(fā)。

2.Maven

Maven 除了以程序構建能力為特色之外,還提供 Ant 所缺少的高級項目管理工具。由于 Maven 的缺省構建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目,而使用 Ant 則需要十幾行。事實上,由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目現(xiàn)在使用 Maven,而且公司項目采用 Maven 的比例在持續(xù)增長。

3.Selenium (SeleniumHQ)

thoughtworks公司的一個集成測試的強大工具。

4.PyUnit

Python單元測試框架(The Python unit testing framework),簡稱為PyUnit, 是Kent Beck和Erich Gamma這兩位聰明的家伙所設計的 JUnit 的Python版本。

5.QUnit

QUnit 是 jQuery 的單元測試框架。

6.JMeter

JMeter 是 Apache 組織的開放源代碼項目,它是功能和性能測試的工具,100% 的用 java 實現(xiàn)。

7.Gradle

Gradle 就是可以使用 Groovy 來書寫構建腳本的構建系統(tǒng),支持依賴管理和多項目,類似 Maven,但比之簡單輕便。

8.PHPUnit

PHPUnit 是一個輕量級的PHP測試框架。它是在PHP5下面對JUnit3系列版本的完整移植,是xUnit測試框架家族的一員(它們都基于模式先鋒Kent Beck的設計)。

三、持續(xù)集成&交付

1.Jenkins

Jenkins 的前身是 Hudson,它是一個可擴展的持續(xù)集成引擎。

2.Capistrano

Capistrano 是一個用來并行的在多臺機器上執(zhí)行相同命令的工具,使用用來安裝一整批機器。它最初是被開發(fā)用來發(fā)布 Rails 應用的。

3.BuildBot

BuildBot 是一個系統(tǒng)的自動化編譯/測試周期最需要的軟件,以驗證代碼的變化。通過自動重建和測試每次發(fā)生了變化的東西,在建設迅速查明之前,減少不必要的失敗。

4.Fabric

fabric8 是開源 Java Containers(JVMs) 深度管理集成平臺。有了 fabric8 可以非常方便的從 UI 和 UX 一致的中央位置進行自動操作,配置和管理。fabric8 同時提供一些非功能性需求,比如配置管理,服務發(fā)現(xiàn)故障轉移,集中化監(jiān)控,自動化等等。

Tinderbox

5.Travis CI

Travis CI 是一個基于云的持續(xù)集成項目, 目前已經(jīng)支持大部分主流語言了,比如:C,PHP,Ruby,Python,Nodejs等等。

6.Continuum

Apache Continuum 是最新的 CI 服務器之一,也是值得關注的一個新進入者?;?Web 的界面使得配置項目很容易。而且,還不需要安裝 Web 服務器,因為 Continuum 內置了 Jetty Web 服務器。并且,Continuum 可以作為 Windows 服務運行,還在應用程序的某些部分嵌入了上下文敏感的文檔,從而提供了很多幫助。

7.LuntBuild

LuntBuild 是一個強大自動構建的工具。通過一個簡潔的web接口就可以很容易地進行系統(tǒng)的持續(xù)構建。

8.CruiseControl

CruiseControl 是一個針對持續(xù)構建程序(項目持續(xù)集成)的框架,它包括一個email通知的插件,Ant和各種各樣的CVS工具。CruiseControl提供了一個Web接口,可隨時查看當前的編譯狀況和歷史狀況。

9.Integrity

Integrity 是 Ruby 開發(fā)的持續(xù)集成服務器。

10.Gump

Gump 是 Apache 的整合工具。它以 Python 寫成、完全支持 Apache Ant、Apache Maven 等等軟件組建工具。

11.Go

Go 是 Google 開發(fā)的一種編譯型,并發(fā)型,并具有垃圾回收功能的編程語言。

四、部署工具

(一)容器平臺

1.Docker

Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。

2.Rocket

Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 類似,幫助開發(fā)者打包應用和依賴包到可移植容器中,簡化搭環(huán)境等部署工作。

3.Ubuntu(LXC)

LXD 是 ubuntu 基于 LXC 技術的重構,容器天然支持非特權和分布式。LXD 與 Docker 的思路不同,Docker 是 PAAS,LXD 是 IAAS。LXC 項目由一個 Linux 內核補丁和一些 userspace 工具組成。這些 userspace 工具使用由補丁增加的內核新特性,提供一套簡化的工具來維護容器。

(二)配置管理

1.Chef

Chef 是一個系統(tǒng)集成框架,為整個架構提供配置管理功能。

2.Puppet

Puppet,您可以集中管理每一個重要方面,您的系統(tǒng)使用的是跨平臺的規(guī)范語言,管理所有的單獨的元素通常聚集在不同的文件,如用戶, CRON作業(yè),和主機一起顯然離散元素,如包裝,服務和文件。

3.CFengine

Cfengine(配置引擎)是一種 Unix 管理工具,其目的是使簡單的管理的任務自動化,使困難的任務變得較容易。Cfengine 適用于管理各種環(huán)境,從一臺主機到上萬臺主機的機群均可使用。

4.Bash

Bash 是大多數(shù)Linux系統(tǒng)以及Mac OS X v10.4默認的shell,它能運行于大多數(shù)Unix風格的操作系統(tǒng)之上,甚至被移植到了Microsoft Windows上的Cygwin系統(tǒng)中,以實現(xiàn)windows的POSIX虛擬接口。此外,它也被DJGPP項目移植到了MS-DOS上。

5.Rudder

Rudder 已改名為Flannel,為每個使用 Kubernetes 的機器提供一個子網(wǎng)。也就是說 Kubernetes 集群中的每個主機都有自己一個完整的子網(wǎng),例如機器 A 和 B 可以有 10.0.1.0/24 和 10.0.2.0/24 子網(wǎng)。

Powershell

6.RunDeck

RunDeck 是用 Java/Grails 寫的開源工具,幫助用戶在數(shù)據(jù)中心或者云環(huán)境中自動化各種操作和流程。通過命令行或者web界面,用戶可以對任意數(shù)量的服務器進行操作,大大降低了對服務器自動化的門檻。

7.Saltstack

Saltstack 可以看做是func的增強版+Puppet的弱化版。使用Python編寫。非常好用,快速可以基于EPEL部署。Salt 是一個開源的工具用來管理你的基礎架構,可輕松管理成千上萬臺服務器。

8.Ansible

Ansible 提供一種最簡單的方式用于發(fā)布、管理和編排計算機系統(tǒng)的工具,你可在數(shù)分鐘內搞定。Ansible 是一個模型驅動的配置管理器,支持多節(jié)點發(fā)布、遠程任務執(zhí)行。默認使用 SSH 進行遠程連接。無需在被管理節(jié)點上安裝附加軟件,可使用各種編程語言進行擴展。

(三)微服務平臺

1.OpenShift

OpenShift 是由紅帽推出的一款面向開源開發(fā)人員開放的平臺即服務(PaaS)。 OpenShift通過為開發(fā)人員提供在語言、框架和云上的更多的選擇,使開發(fā)人員可以構建、測試、運行和管理他們的應用。

2.Cloud Foundry

Cloud Foundry 是VMware于2011年4月12日推出的業(yè)界第一個開源PaaS云平臺,它支持多種框架、語言、運行時環(huán)境、云平臺及應用服務,使開發(fā)人員能夠在幾秒鐘內進行應用程序的部署和擴展,無需擔心任何基礎架構的問題。

3.Kubernetes

Kubernetes 是來自 Google 云平臺的開源容器集群管理系統(tǒng)?;?Docker 構建一個容器的調度服務。該系統(tǒng)可以自動在一個容器集群中選擇一個工作容器供使用。其核心概念是 Container Pod。

4.Mesosphere

Apache Mesos 是一個集群管理器,提供了有效的、跨分布式應用或框架的資源隔離和共享,可以運行Hadoop、MPI、Hypertable、Spark。

(四)服務開通

1.Puppet

Puppet,您可以集中管理每一個重要方面,您的系統(tǒng)使用的是跨平臺的規(guī)范語言,管理所有的單獨的元素通常聚集在不同的文件,如用戶, CRON作業(yè),和主機一起顯然離散元素,如包裝,服務和文件。

Razor

2.Docker Swarm

Docker Swarm 是一個Dockerized化的分布式應用程序的本地集群,它是在Machine所提供的功能的基礎上優(yōu)化主機資源的利用率和容錯服務。具體來說,Docker Swarm支持用戶創(chuàng)建可運行Docker Daemon的主機資源池,然后在資源池中運行Docker容器。Docker Swarm可以管理工作負載并維護集群狀態(tài)。

3.Vagrant

Vagrant 是一個基于 Ruby 的工具,用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境。它使用 Oracle 的開源 VirtualBox 虛擬化系統(tǒng),使用 Chef 創(chuàng)建自動化虛擬環(huán)境。

4.Powershell

5.OpenStack Heat

五、維護

日志記錄

1.Logstash

Logstash 是一個應用程序日志、事件的傳輸、處理、管理和搜索的平臺。你可以用它來統(tǒng)一對應用程序日志進行收集管理,提供 Web 接口用于查詢和統(tǒng)計。

2.CollectD

collectd 是一個守護(daemon)進程,用來收集系統(tǒng)性能和提供各種存儲方式來存儲不同值的機制。比如以RRD 文件形式。

3.StatsD

StatsD 是一個簡單的網(wǎng)絡守護進程,基于 Node.js 平臺,通過 UDP 或者 TCP 方式偵聽各種統(tǒng)計信息,包括計數(shù)器和定時器,并發(fā)送聚合信息到后端服務,例如 Graphite。

六、監(jiān)控,警告&分析

1.Nagios

Nagios 是一個監(jiān)視系統(tǒng)運行狀態(tài)和網(wǎng)絡信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠程主機以及服務,同時提供異常通知功能等。

2.Ganglia

Ganglia 是一個跨平臺可擴展的,高性能計算系統(tǒng)下的分布式監(jiān)控系統(tǒng),如集群和網(wǎng)格。它是基于分層設計,它使用廣泛的技術,如XML數(shù)據(jù)代表,便攜數(shù)據(jù)傳輸,RRDtool用于數(shù)據(jù)存儲和可視化。

3.Sensu

Sensu 是開源的監(jiān)控框架。主要特性:高度可組合;提供一個監(jiān)控代理,一個事件處理器和文檔 APIs;為云而設計;Sensu 的現(xiàn)代化架構允許監(jiān)控大規(guī)模的動態(tài)基礎設施,能夠通過復雜的公共網(wǎng)絡監(jiān)控幾千個全球分布式的機器和服務;熱情的社區(qū)。

4.zabbix

zabbix 是一個基于Web界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡監(jiān)視功能的企業(yè)級的開源解決方案。

5.ICINGA

ICINGA 項目是 由Michael Luebben、HendrikB?cker和JoergLinge等人發(fā)起的,他們都是現(xiàn)有的Nagios項目社區(qū)委員會的成員,他們承諾,新的開源項目將完全兼容以前的Nagios應用程序及擴展功能。

6.Graphite

Graphite 是一個用于采集網(wǎng)站實時信息并進行統(tǒng)計的開源項目,可用于采集多種網(wǎng)站服務運行狀態(tài)信息。Graphite服務平均每分鐘有4800次更新操作。

7.Kibana

Kibana 是一個為 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口??墒褂盟鼘θ罩具M行高效的搜索、可視化、分析等各種操作。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制系統(tǒng)

    關注

    41

    文章

    6517

    瀏覽量

    110394
  • 開源工具
    +關注

    關注

    0

    文章

    27

    瀏覽量

    4438
  • devops
    +關注

    關注

    0

    文章

    109

    瀏覽量

    11987

原文標題:60個DevOps開源工具,你在用哪些?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [原創(chuàng)]很好的碼流分析工具,幫助你快速掌握碼流結構

    以Tree的形式,顯示解析碼流中的PAT,PMT,SDT,EIT及Subtitle的PES包Tree的結構基本和各SI包的數(shù)據(jù)結構一一對應,幫助你以實例學習TS結構 相比其他軟件相比,多解析了LCN
    發(fā)表于 03-11 12:24

    Linux開發(fā)工具總結

    Linux是一個優(yōu)秀的開發(fā)環(huán)境,但是如果沒有好的開發(fā)工具作為武器,這個環(huán)境給你帶來的好處就會大打折扣。幸運的是,有很多好用的Linux和開源開發(fā)工具供你選擇,如果你是一個新手,你可能不知道有哪些
    發(fā)表于 07-23 06:35

    FPGA Editor如何幫助你完成設計調試和驗證?

    FPGA Editor數(shù)字設計工具怎么樣?FPGA Editor如何幫助你完成設計調試和驗證?
    發(fā)表于 05-07 06:17

    DevOps工具鏈的項目端到端應用實踐過程

    如何在項目中快速建立起一套比較完整的DevOps工具鏈支持。
    的頭像 發(fā)表于 04-05 18:30 ?7170次閱讀
    <b class='flag-5'>DevOps</b><b class='flag-5'>工具</b>鏈的項目端到端應用實踐過程

    菲特比特推出新款智能手表“Versa”可以幫助你跟蹤各種各樣的活動

    Versa可以幫助你跟蹤各種各樣的活動,包括跑步、游泳和騎自行車,它的月經(jīng)周期跟蹤是另一個非常有趣的功能。與其他許多智能手表不同的是,它還足夠緊湊,可以在手腕纖細的用戶身上看起來很好。
    發(fā)表于 08-22 10:56 ?1848次閱讀

    列舉60多款開源工具可以幫助你很好實行DevOps

    Maven 除了以程序構建能力為特色之外,還提供 Ant 所缺少的高級項目管理工具。由于 Maven 的缺省構建規(guī)則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目,而使
    的頭像 發(fā)表于 08-29 09:10 ?2565次閱讀
    列舉<b class='flag-5'>60</b><b class='flag-5'>多款</b>最<b class='flag-5'>棒</b>的<b class='flag-5'>開源</b><b class='flag-5'>工具</b>,<b class='flag-5'>可以</b><b class='flag-5'>幫助你</b><b class='flag-5'>很好</b>的<b class='flag-5'>實行</b><b class='flag-5'>DevOps</b>

    Magic Leap更新Create應用,幫助你理解系統(tǒng)的能力

    和空間音頻等功能。 這是新用戶應該體驗的第一款內容,它可以幫助你理解系統(tǒng)的能力。Create同時是一個很好的實用性用例,可以指導開發(fā)者開始以不同的方式設計沉浸式應用程序。
    發(fā)表于 03-11 15:16 ?565次閱讀

    創(chuàng)新工具開源軟件如何幫助測量和緩解RF問題

    了解創(chuàng)新工具開源軟件如何幫助測量和緩解各種RF問題,如混頻器的三次諧波、RF污染、需要RF濾波器等。
    的頭像 發(fā)表于 07-23 06:05 ?2153次閱讀

    哪一些開源工具將會有益于人工智能技術

    AI 開源工具和技術以頻繁且準確的結果吸引了每個行業(yè)的關注。這些工具幫助你分析績效,同時為你帶來更大的收益。
    發(fā)表于 03-19 11:49 ?683次閱讀

    DevOps是什么 DevOps常用的工具有哪些

    DevOps(Development和Operations的組合詞)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協(xié)作與整合。 它是一種
    的頭像 發(fā)表于 08-05 11:20 ?6299次閱讀

    DevOps與DevSecOps有什么區(qū)別

    Golang 編寫的 Packer 可以幫助你自動創(chuàng)建虛擬鏡像。 4.Docker:是一種容器技術,可讓您在特殊環(huán)境中隔離應用程序
    的頭像 發(fā)表于 01-30 14:01 ?2597次閱讀

    JFrog:DEVOPS工具加速軟件發(fā)布

    運行DevOps流水線,使其從代碼到生產階段實現(xiàn)了完全自動化。JFrogDevOps 工具支持完全自動化的構建、測試、發(fā)布和部署流程,提供廣泛的API的同時,實現(xiàn)快速反饋,確保持續(xù)改進。
    的頭像 發(fā)表于 05-08 09:41 ?1026次閱讀

    如何實現(xiàn)DevOps目標的核心技術類別和具體技術

    11 通信工具 12 知識分享工具 13 總結 本篇文章中將介紹一些能夠幫助你實現(xiàn) DevOps 目標的核心技術類別和具體技術。 1 關于 Dev
    的頭像 發(fā)表于 06-25 15:34 ?637次閱讀

    常用的devops工具集成方法

    常用的devops工具集成方法涵蓋了軟件開發(fā)和運維的各個方面,從版本控制到自動化構建、測試、部署和監(jiān)控。這些工具的有效集成可以幫助團隊提高協(xié)
    的頭像 發(fā)表于 10-09 11:21 ?196次閱讀

    Devops工具鏈集成的意義及基本原理

    Devops工具鏈集成的意義在于實現(xiàn)開發(fā)(Development)與運維(Operations)之間的緊密協(xié)作,通過自動化流程提高軟件交付的速度、質量和穩(wěn)定性。其基本原理是通過一系列相互連接的工具,涵蓋從代碼編寫到部署、監(jiān)控的全
    的頭像 發(fā)表于 10-14 10:32 ?144次閱讀