不要满足于使用世界上已存在的各种方法和技术,而应重点放在希望达到的效果上!

单单使用工具不难,困难的是在团队开发中熟练使用,并形成一套理想的工作流程,只有在团队中工具和思想才能发挥最大价值。

开源工具与分类

包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等。
原文链接:https://www.ctl.io/developers/blog/post/60-best-open-source-tools-to-do-devops/

  • 版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
  • 自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
  • 持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
  • 容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
  • 配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
  • 微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
  • 服务开通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
  • 日志管理:Logstash、CollectD、StatsD
  • 监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana

平台搭建

Jenkins

https://jenkins.io/zh/
持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

GitLab

https://about.gitlab.com/
基于git的项目管理软件:开源的仓库管理系统项目,使用git作为代码管理工具,并在此基础上搭建web服务,拥有与Github类似的功能。

Kubernetes

https://kubernetes.io/zh/
用于管理云平台中多个主机上的容器化的应用,让部署容器化的应用简单并且高效,提供了应用部署,规划,更新,维护的机制。

Helm

https://helm.sh/
Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。

etcd

https://github.com/coreos/etcd/
应用服务的注册,是一个具备高可用性和强一致性的键值存储仓库

Nginx

https://www.nginx.com/
轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

Harbor

https://goharbor.io/
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,用于存储和分发Docker镜像的企业级Registry服务器。

代码提交与审核

Gerrit

https://www.gerritcodereview.com/
免费开源的代码审核系统,在传统源码管理协作流程中强制性引入代码审核机制

SVN

状态监控与运维

Prometheus

https://prometheus.io/
代码级的监控,可在各虚机、中间件、应用程序中使用工具收集资源消耗信息。

Grafana

https://grafana.com/
实时查看各项资源运营情况,可作为数据展示平台,利用Prometheus和Grafana可以定制出监控告警看板

WeaveScope

https://www.weave.works/oss/scope/
Docker和Kubernetes的可视化监控、故障诊断与检测工具

Zabbix

https://zabbix.org/
基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

Ansible

Ansible是基于Python开发的自动化运维工具,,实现了批量的系统配置、程序部署、运行命令等功能;

日志平台

ELK(Logstash+ElasticSearch+Kibana)

统一日志平台,结合Logstash,ElasticSearch和Kibana三个组件,可以搭建一套高效的日志收集和分析系统。

Logstash

https://www.elastic.co/cn/products/logstash
开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。

Elasticsearch

https://www.elastic.co/cn/products/elasticsearch
开源、分布式、RESTful接口的全文搜索引擎。

Kibana

https://www.elastic.co/cn/products/kibana
开源的分析和可视化平台,设计用于和Elasticsearch一起工作来搜索、查看,并和存储在Elasticsearch索引中的数据进行交互。

Filebeats

https://www.elastic.co/cn/products/beats/filebeat
日志文件托运工具。

Others

JIRA & Confluence

Atlassian公司设计发布针对软件开发工程师和项目经理的企业软件,以其产品项目跟踪软件JIRA和团队协同软件Confluence而闻名。
JIRA是优秀的敏捷项目工具,协助您追踪问题,集成代码,规划,开发,发布高质量的软件产品。
Confluence将团队成员紧密的团结在一起,带领团队同心协力地在线编写文档,使团队成员工作更有效率。

DevOps - DevOps工具链的更多相关文章

  1. 一文解读DevOps工具链 (转)

    在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...

  2. DevOps最佳工具集实践

    在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...

  3. DevOps时代,企业数字化转型需要强大的工具链

    伴随时代的飞速进步,中国的人口红利带来了互联网业务的快速发展,巨大的流量也带动了技术的不断革新,研发的模式也在不断变化.传统企业纷纷效仿互联网的做法,结合DevOps进行数字化的转型. 通常提到Dev ...

  4. DevOps工具链

    Devops工具链 DevOps实际是一种文化上的变迁,代表了开发.运维.测试等环节之间的协作,因此DevOps工具是非常多种多样的,甚至可以由多种工具组成一个完整的DevOps工具链.此类工具可以应 ...

  5. 如何快速复制BAT级的DevOps工具链

    1.流水线改变世界 1910年,福特汽车在引入流水线生产之后,Model-T 的组装时间缩短了8倍,从12.5小时降到了1.5小时,这就是流水线改变世界的神话,造就了汽车上的国家! 那流水线怎么改变软 ...

  6. 从大厂DevOps工具链部署,看现代产品的生命周期管理

    目录 1. 认识DevOps 1.1. DevOps工具链 1.2. CI 持续集成(Continuous Integration) 1.3. CD(持续交付 & 持续部署) 1.4. Agi ...

  7. devops工具链概述

    1. devops工具链概述  1)devops工具篇 2) 持续集成 3) 持续交付 4) 持续部署 2. devops工具链概述

  8. 研发过程及工具支撑 DevOps 工具链集成

    https://mp.weixin.qq.com/s/NYm63nkCymIV3DbL4O01dg 腾讯重新定义敏捷 |Q推荐 小智 InfoQ 2020-09-03 敏捷开发奠基人 Robert C ...

  9. DevOps开源工具的三种分类整理

    原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,De ...

  10. DevOps - 自动化工具

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

随机推荐

  1. Android利用json进行网络解析

    必须单开一个线程,android界面的主线程不会负责通信模块

  2. 【转载】@Component, @Repository, @Service的区别

    @Component, @Repository, @Service的区别 官网引用 引用spring的官方文档中的一段描述: 在Spring2.0之前的版本中,@Repository注解可以标记在任何 ...

  3. python_lambda表达式(匿名函数)

    # lambda表达式,为了解决简单函数的情况,如: def func(a1,a2): return a1 + a2 func = lambda a1,a2:a1+a2 # 上面这两个是一样的 def ...

  4. Filter和interceptor比较

    作为一个备忘,有时间补充 https://www.cnblogs.com/learnhow/p/5694876.html 先说一个题外话,Filter是过滤器,interceptor是拦截器.前者基于 ...

  5. 自己编写一个Java监听器

    Java监听器 1.原理: 当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法. 例如:创建一个“人”类Class Person 人拥有吃的方法public void eat(){},我 ...

  6. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解

    最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下: Spring4.3中引 ...

  7. oracle汉字排序

    oracle在9i之前是对汉字的排序是按照二进制编码进行排序的,很不适合我们的国情,在oracle9i之后,汉字的排序方式有了以下三种方式:        1.使用拼音排序   NLS_SORT=SC ...

  8. CodeForces 835C - Star sky | Codeforces Round #427 (Div. 2)

    s <= c是最骚的,数组在那一维开了10,第八组样例直接爆了- - /* CodeForces 835C - Star sky [ 前缀和,容斥 ] | Codeforces Round #4 ...

  9. parseInt parseFloat isNaN Number 区别和具体的转换规则及用法

    原文链接:https://blog.csdn.net/wulove52/article/details/84953998 在javascript 我经常用到,parseInt.parseFloat.N ...

  10. List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set

    List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...