DevOps工具链学习——相关工具知多少

转载至:https://blog.csdn.net/nklinsirui/article/details/80510535#版本控制
刚刚接触DevOps,作为开发人员,我要做的自然是将DevOps中涉及的工具熟悉起来,其中的开发工具更是要熟练运用,要开发平台的话,那么所有工具都要熟悉,至少自己需要跑一个Demo之类的。

那么在这一切操作开始之前,就需要知道,到底有哪些工具。在搜索诸多博文和资料之后,下面这篇博文写的最完善,也最清晰,所以转载一下做学习之用。

DevOps工具链思维导图:

在这里插入图片描述

版本控制
推荐使用基于Git的版本控制系统,比如GitLab , GitHub 和 BitBucket。

这些基于Git的版本控制系统,除了有Git的功能之外,还提供了Protect branch,Merge Request/Pull request, Code Review,和其他DevOps工具集成等增值功能。

GitLab有开源的社区版GitLab CE,是目前小团队自建Git版本控制系统的主流选择。

GitHub Enterprise功能更为强大,但是是收费的。

IDE
对Java开发来说,推荐使用Intellij Idea和Eclipse。

Intellij Idea有免费的社区版,是目前使用最广泛的Java IDE。

任务管理
最好用的任务管理是JIRA, 提供了Agile Dashboard、Agile工作流等功能来支持敏捷开发。

小团队可以选择免费的任务管理系统,比如Redmine。

依赖管理和构建工具
对Java开发来说,Maven和Gradle是使用最为广泛的依赖管理和构建工具。

中央仓库
Nexus是使用最为广泛的中央仓库, Nexus + Maven 是黄金搭档。

小团队可以选择免费的Nexus OSS Repository。

代码质量分析
SonarQube 集成了代码静态分析,代码风格检查和代码测试覆盖率检查。

Jenkins + SonarSanner + SonarQube 可以在持续集成中对代码进行静态分析。

另外也可以在IDE中使用SonarLint, PWD, FindBugs和Checkstyle来作代码静态分析。

持续集成与持续交付
Jenkins是使用最为广泛的持续集成(CI) 和持续交付(CD) 工具。

CI/CD工具是DevOps工具链的核心,Jenkins Pipeline是核心中的核心。

另一个选择是TeamCity,不过是收费的。

自动化配置管理
Ansible 是一款著名的自动化配置管理工具。

Jenkins + Ansible可以用来做持续部署。

其他的选择还包括Puppet, Chef和SaltStack。

自动化测试
单元测试
对Java开发来说,JUnit是最著名的单元测试框架,另外一个是TestNG。

Jacoco可以用来检查单元测试覆盖率。

行为驱动开发测试 (BDD Test)
对Java开发来说,Cucumber 是一个著名的BDD Test框架。

服务测试
PostMan 是一款免费且功能强大的API测试工具。

Jenkins + NewMan + PostMan 可以用来做自动化API测试。

Web UI测试
Selenium 是著名的自动化UI测试框架,配合无头浏览器来使用。

压力测试
JMeter是一款开源的压力测试工具。

日志采集分析
主流的日志采集分析框架有ELK和EFK。

Elasticsearch
Logstash
Flutentd
Kibana
应用监控
应用监控框架包括:

Zabbix
Nagios
Prometheus
DevOps dashboard
Grafana 是一款开源的可视化面板框架。

可以使用Grfana结合调用其它DevOps工具的API来实现一个定制的DevOps dashboard。

CapitalOne 银行有一个开源的DevOps dashboard实现:Hygieia

容器化
Docker 是使用最广泛的容器化技术。

使用Docker Compose可以避免在docker run 后面加上长长的参数列表,通过docker-compose.yaml 配置文件来配置运行参数,也可以组合几个容器在一个docker-compose.yaml中。

除了使用官方的Docker private registry,也可以用Harbor来搭建Docker私有镜像仓库。

容器云(集群)
Kubernetes (简称k8s)是使用最为广泛的容器编排技术。

Kubernetes提供了Dashboard来通过界面对服务和容器进行操作。

公有云平台
常用的公有云平台包括:

AWS 亚马逊云
Azure 微软云
阿里云
腾讯云
华为云
公有云平台也有提供DevOps接入服务。

国内镜像*
Yum源、Docker镜像、Maven中央仓库等都有对应的国内镜像,详情请搜索。

Linux版本
Linux 64位 版本。

推荐使用 Ubuntu 16.0.4 及以上,或CentOS 7及以上版本。

虚拟化
可以使用VMware或Virtual Box在本机搭建测试环境,比如在Windows电脑上通过VMWare worksation安装Linux CentOS7,比如在Mac Book上通过VMware fusion安装Linux Ubuntu等。

持续更新中,欢迎补充!
本文介绍的DevOps 工具链大部分是作者亲自使用过,并在企业DevOps实践中使用过。

部分工具是FYI,需要读者自己去了解。

其它资源
DevOps Bookmarks 是一个专门收集DevOps工具和框架的网站
Dev-ops tools by Richard Kraaijenhagen 也是一个专门收集DevOps工具的网站
高效运维社区整理的DevOps工具链 是目前主流使用的开源DevOps工具链

原文链接:https://blog.csdn.net/nklinsirui/article/details/80510535

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值