首页>软件资讯>行业资讯

行业资讯

运维开发常见的工具推荐

发布时间:2023-09-20 14:41:32人气:139

开源的工具是大家梦寐以求的。这里列举了多款最棒的开源工具,可以很好的实行DevOps  

一、开发工具  

版本控制&协作开发  

01版本控制系统Git  

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。  

02代码托管平台GitLab  

GitLab是一个利用RubyonRails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。  

03代码评审工具Gerrit  

Gerrit是一个免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。  

04版本控制系统Mercurial  

Mercurial是一种轻量级分布式版本控制系统,采用Python语言实现,易于学习和使用,扩展性强。  

05版本控制系统Subversion  

Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。  

二、自动化构建和测试  

01ApacheAnt  

ApacheAnt是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。  

02Maven  

Maven除了以程序构建能力为特色之外,还提供Ant所缺少的高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目,而使用Ant则需要十几行。事实上,由于Maven的面向项目的方法,许多ApacheJakarta项目现在使用Maven,而且公司项目采用Maven的比例在持续增长。  

03Selenium(SeleniumHQ)  

thoughtworks公司的一个集成测试的强大工具。  

04PyUnit  

Python单元测试框架(ThePythonunittestingframework),简称为PyUnit,是KentBeck和ErichGamma这两位聪明的家伙所设计的JUnit的Python版本。  

05PHPUnit  

PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋KentBeck的设计)。  

三、持续集成&交付  

01Jenkins  

Jenkins的前身是Hudson,它是一个可扩展的持续集成引擎。  

02Capistrano  

Capistrano是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布Rails应用的。  

03BuildBot  

BuildBot是一个系统的自动化编译/测试周期最需要的软件,以验证代码的变化。通过自动重建和测试每次发生了变化的东西,在建设迅速查明之前,减少不必要的失败。  

04Fabric  

fabric8是开源JavaContainers(JVMs)深度管理集成平台。有了fabric8可以非常方便的从UI和UX一致的中央位置进行自动操作,配置和管理。fabric8同时提供一些非功能性需求,比如配置管理,服务发现故障转移,集中化监控,自动化等等。  

05Go  

Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。  

四、部署工具  

(一)容器平台  

01Docker  

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。  

02Rocket  

Rocket(也叫rkt)是CoreOS推出的一款容器引擎,和Docker类似,帮助开发者打包应用和依赖包到可移植容器中,简化搭环境等部署工作。  

03Ubuntu(LXC)  

LXD是ubuntu基于LXC技术的重构,容器天然支持非特权和分布式。LXD与Docker的思路不同,Docker是PAAS,LXD是IAAS。LXC项目由一个Linux内核补丁和一些userspace工具组成。这些userspace工具使用由补丁增加的内核新特性,提供一套简化的工具来维护容器。  

(二)配置管理  

01Chef  

Chef是一个系统集成框架,为整个架构提供配置管理功能。  

02Puppet  

Puppet,您可以集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户,CRON作业,和主机一起显然离散元素,如包装,服务和文件。  

03CFengine  

Cfengine(配置引擎)是一种Unix管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine适用于管理各种环境,从一台主机到上万台主机的机群均可使用。  

04Bash  

Bash是大多数Linux系统以及MacOSXv10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了MicrosoftWindows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。  

05RunDeck  

RunDeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。  

06Saltstack  

Saltstack可以看做是func的增强版+Puppet的弱化版。使用Python编写。非常好用,快速可以基于EPEL部署。Salt是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。  

07Ansible  

Ansible提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。Ansible是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用SSH进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。  

五、维护  

01Logstash  

Logstash是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供Web接口用于查询和统计。  

02CollectD  

collectd是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD文件形式。  

03StatsD  

StatsD是一个简单的网络守护进程,基于Node.js平台,通过UDP或者TCP方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务,例如Graphite。  

六、监控,警告&分析  

01Nagios  

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。  

02Ganglia  

Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可视化。  

03zabbix  

zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。  

04Kibana  

Kibana是一个为Logstash和ElasticSearch提供的日志分析的Web接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。



上一条:EPLAN软件客户案例-苏州江南航天机电工业有限公司

下一条:IT 运维管理常用工具大全