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用于数据存储和可视化。
相关文章
相关标签/搜索