在介绍Devops工具之前,先跟随码花来了解下: Devops是个啥?
Devops=【Development】+【Operations】。
简言之,Devops主要用于开发、测试、运维之间的沟通、协作与整合,减少开发和运营之间的摩擦,从而快速部署软件或应用程序,并且可以快速检测。
作为小白,你可能就要问了:那,Devops到底是个什么样的存在形式,是个软件还是啥?
错!!!Devops既不是软件、也不是网站、更不是代码,而是一组方法、过程与系统的统称。
Devops包含了很多优秀想法和原则,它鼓励开发部门和运维部门通力合作。在DevOps环境中,开发人员和系统管理员会构建一些关系、流程和工具,从而更好的与客户互动,最终提供更好的服务。
简单了解了Devops是个啥之后,一起来看看下面这几款最棒的开源工具,可以帮助你很好的实行 DevOps。
一、开发工具
版本控制&协作开发
1、版本控制系统 Git
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
2、代码托管平台 GitLab
GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
3、代码评审工具 Gerrit
Gerrit是一个免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。
4、版本控制系统 Mercurial
Mercurial是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。
5、版本控制系统 Subversion
Subversion 是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。
6、版本控制系统 Bazaar
Bazaar 是一个分布式的版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows、GNU/Linux、Unix 以及 Mac OS 系统。
二、自动化构建和测试
1、Apache Ant
Apache Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
2、Maven
Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
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 实现。
7、Gradle
Gradle 就是可以使用 Groovy 来书写构建脚本的构建系统,支持依赖管理和多项目,类似 Maven,但比之简单轻便。
8、PHPUnit
PHPUnit 是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。
开源硬件相关开发板推荐:
UDOO Neo 一款基于Cortex-A9 、Cortex-M4双核用来评估i.MX 6SoloX可支持Android和Linux的低价开源硬件
P1600-DK02开发板 是一款基于 Adapteva 的 Epiphany 多核芯片,开源、高能效、性能优异且只有信用卡大小的计算机。
Netduino3 开源平台 一款能够使商业硬件解决方案和个人电子项目快速上市,同时提供了最大的设计灵活性并降低了风险。
本文作者:佚名
来源:51CTO